【渗透测试中收集信息命令并利用漏洞与提权命令总结基础版(适合新手入门学习渗透测试)】
前言:该文章总结了渗透测试命令与提权基础命令,并附带一些利用到的基础漏洞.
博主建议以这篇文章作为大纲,从博主其他相关的靶机渗透测试文章(下文有对应链接)作为学习口,自己下载靶机(文章附带靶机下载链接)然后自己动手渗透,从这篇文章理解大概的基础命令与流程,再从各个靶机细分文章进行更深层次的学习.
靶机学习顺序建议按照博主发布文章时间学习,越早发布一般对应靶机越简单
收集靶机信息基本命令
1.查看kaliIP 假设kaliIP:192.168.253.135
ifconfig2.查看靶机IP,假设靶机:192.168.253.142
nmap-sn192.168.253.00/243.扫描靶机端口
扫描全部端口:
nmap-A-p1-64000192.168.253.142扫描常用的100个端口:
nmap-T4-F-A192.168.253.1424.web指纹识别
whatweb192.168.253.1425.扫描web目录
dirb http://192.168.253.142也可以
dirsearch-uhttp://192.168.253.142-x404,403,400第六第七步仅作为辅助作用,要是想锻炼自己找靶机漏洞建议不使用
- 扫描开放的端口漏洞(比如刚才扫描出靶机开放22,80,139,445,10000端口)
nmap--script=vuln -p22,80,139,445,10000192.168.253.142- 扫描web漏洞
nikto-hhttp://192.168.253.142漏洞类型与利用总结
这下面记录各个靶机利用的漏洞,越多说明越常见
远程代码执行RCE:
(Sickos1.1:后台发现可上传文件上传反弹shell)
(Billu_2.7:通过 Metasploit 利用 Drupal 8 的 CVE‑2018‑7600 漏洞获得 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159602450?spm=1001.2014.3001.5501)
(Billu_bOx1:通过文件包含读源码,利用 SQL 注入绕过登录,上传图片马反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159551954?spm=1001.2014.3001.5501)
(Hackademic.RTB1:通过 SQL 注入获取 WordPress 用户密码,登录后台开启 PHP 上传并反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159352909?spm=1001.2014.3001.5501)
(Hackademic.RTB2:通过 SQL 注入读取配置文件获得数据库密码,登录 phpMyAdmin 写入 webshell 反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159382198?spm=1001.2014.3001.5501)
(jarbas:破解密文登录 Jenkins 后创建任务,直接执行反弹 shell 命令
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159548957?spm=1001.2014.3001.5501)
(Kioptrix level 2:SQL 注入万能密码登录,再利用 ping 输入框命令注入反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159250524?spm=1001.2014.3001.5501)
(Kioptrix Level 2014:pChart 目录遍历读取 httpd.conf,修改 UA 访问 8080 端口,利用 phptax 写入 webshell 反弹
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159315724?spm=1001.2014.3001.5501)
(Sickos1.2:利用 PUT 方法上传 PHP 反弹 shell 获得控制权)
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159080764?spm=1001.2014.3001.5501
(Sickos1.1:后台登录页面,尝试使用弱密码 admin:admin 成功登录,然后发现上传点上传反弹shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159078812?spm=1001.2014.3001.5501)
SQL注入
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159215705?spm=1001.2014.3001.5501:
(Billu_bOx1:通过文件包含读源码,利用 SQL 注入绕过登录,上传图片马反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159551954?spm=1001.2014.3001.5501)
(Hackademic.RTB1:通过 SQL 注入获取 WordPress 用户密码,登录后台开启 PHP 上传并反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159352909?spm=1001.2014.3001.5501)
(Hackademic.RTB2:通过 SQL 注入读取配置文件获得数据库密码,登录 phpMyAdmin 写入 webshell 反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159382198?spm=1001.2014.3001.5501)
(Kioptrix level 2:SQL 注入万能密码登录,再利用 ping 输入框命令注入反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159250524?spm=1001.2014.3001.5501)
文件包含(LFL\RFL):
(Billu_bOx1:通过文件包含读源码,利用 SQL 注入绕过登录,上传图片马反弹 shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159551954?spm=1001.2014.3001.5501)
(Kioptrix Level 2014:pChart 目录遍历读取 httpd.conf,修改 UA 访问 8080 端口,利用 phptax 写入 webshell 反弹
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159315724?spm=1001.2014.3001.5501)
(w1r3s:利用 Cuppa CMS 本地文件包含读取 /etc/shadow,破解 w1r3s 用户密码并 SSH 登录
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159734293?spm=1001.2014.3001.5501)
缓冲区溢出漏洞:
(Kioptrix level 1:Samba 版本低至 2.2.1a,利用 CVE‑2003‑0201 直接获得 root shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159208626?spm=1001.2014.3001.5501)
敏感信息泄露:
(FourAndSix1:挂载 NFS 共享目录获取磁盘镜像,从中提取私钥文件
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159428840?spm=1001.2014.3001.5501)
(FourAndSix2.01:从 NFS 共享获取加密压缩包,破解密码得到 SSH 私钥并登录
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159474667?spm=1001.2014.3001.5501)
(troll:FTP 匿名下载 pcap 文件,分析获得隐藏目录及用户名、密码文件,爆破 SSH 登录)
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159647902?spm=1001.2014.3001.5501
(troll2:从图片中提取信息得到 FTP 凭据,下载压缩包破解出 SSH 私钥,利用 Shellshock 绕过登录限制
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159673705?spm=1001.2014.3001.5501)
(w1r3s:利用 Cuppa CMS 本地文件包含读取 /etc/shadow,破解 w1r3s 用户密码并 SSH 登录
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159734293?spm=1001.2014.3001.5501)
(Sickos1.1:后台登录页面,尝试使用弱密码 admin:admin 成功登录,然后发现上传点上传反弹shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159078812?spm=1001.2014.3001.5501)
查找flag或提权基本命令
(命令下面有括号解释的意味着该靶机提权关键信息在此条命令被查找到,如果要看具体操作可以点击链接去看专门的靶机文章):
收集信息前使用此命令可以获得交互性更好的shell:
python-c'import pty; pty.spawn("/bin/bash")'- 查看用户
whoami- 查看用户
id- 查看内核版本
uname-a(Hackademic.RTB1:利用 Linux kernel 2.6.3 漏洞 15285.c 直接获取 root
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159352909?spm=1001.2014.3001.5501)
(Hackademic.RTB2:利用 Linux kernel 2.6.3 漏洞 15285.c 提权至 root
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159382198?spm=1001.2014.3001.5501)
(Kioptrix level 2:利用 CentOS 4.5 内核漏洞 9542.c 获得 root)
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159250524?spm=1001.2014.3001.5501
(Kioptrix Level 2014:利用 FreeBSD 9.0 内核漏洞直接获得 root)
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159315724?spm=1001.2014.3001.5501(troll2:利用 Dirty Cow 漏洞直接提权至 root)
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159673705?spm=1001.2014.3001.5501
- 查看当前用户的sudo权限清单(如果是ALL就可以直接提权)
sudo-l(w1r3s:sudo -l 发现所有命令均可无密码执行,直接 sudo su 获得 root
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159734293?spm=1001.2014.3001.5501)
5. 检查SUID文件
find/-perm-4000-typef2>/dev/null(FourAndSix2.01:利用 doas 以 root 运行 less 查看日志,通过编辑器逃逸获得 root shell
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159474667?spm=1001.2014.3001.5501)
查看当前目录文件(或许藏了什么文件)
ls -la查看web目录
ls-la/var/www/html如果找不到可以查找常见的web目录:
find/-typed-name"html"2>/dev/nullfind/-typed-name"www"2>/dev/null读取密码文件
cat /etc/passwd
cat /etc/shadow
(Billu_2.7:ls-la /etc/passwd查看密码文件 权限为 777(可读可写可执行),直接自己写入 UID 0 用户并自己设置密码即可切换至 root
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159602450?spm=1001.2014.3001.5501)(收集flag时可以用)
find / -type f -iname “flag” 2>/dev/null
find / -iname “flag” 2>/dev/null :寻找所有目录中含有flag的文件名不区分大小写
grep -r -n -i -I “flag” / 2>/dev/null :寻找所有目录中含有flag的内容不区分大小写
-r:递归搜索子目录
-n:显示关键词在文件中的行号;
-i:忽略大小写;
-I:忽略二进制文件(图片、程序、压缩包等),避免输出乱码检查环境变量
env- 查看网站配置文件,这里面可能有数据库密码,进而连接数据库继续查找信息或尝试用数据库密码ssh登录
find/var/www-name"*config*.php"-o-name"*db*.php"2>/dev/null(Sickos1.1:发现有config.php文件,读取后得到数据库密码,用来ssh登录成功
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159078812?spm=1001.2014.3001.5501)
(Billu_bOx1:在 phpmy/config.inc.php 中找到数据库密码,恰好同为 root 密码,su root 提权
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159551954?spm=1001.2014.3001.5501)
- 检查是否有数据库服务
psaux|grepmysqlnetstat-an|grep3306- 查看进程列表
psaux- 查看定时任务
crontab-lcat/etc/crontabls/etc/cron*(jarbas:发现以 root 执行且可写的 CleaningScript.sh,追加反弹 shell 后获得 root)
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159548957?spm=1001.2014.3001.5501
(Sickos1.2:chkrootkit 0.49 会以 root 执行 /tmp/update,写入提权命令后获得 root
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159080764?spm=1001.2014.3001.5501)
(troll:cleaner.py 定时以 root 运行且可写,写入反弹 shell 后获得 root
https://blog.csdn.net/uhszjhshdjsjsj/article/details/159647902?spm=1001.2014.3001.5501)
- 查看历史命令,可能会有线索
cat~/.bash_history- 查看临时目录
ls-la/tmpls-la/var/tmp