후... 이제 VMware 를 설치해봅시다.

제가 VMware 를 설치하는 이유는 칼리 위에 여러개의 취약점 서버를 만들어 놓고 사용하기 위해서입니다. 매번 서버 바꾸려먼 설정하기 귀찮으니까 사용할 서버 몇개 동시에 올려 놓자는 거죠. 


* 설치하기 위해선 제일 먼저  루트 권한이 필요합니다

1. 자 VMware 홈페이지에 들어가서 최신버전을 다운받습니다.

http://www.vmware.com/products/player/playerpro-evaluation.html

현재 최신버전은 VMware-Player-12.1.1-3770994.x86_64.bundle 이네요




2. 설치받은 스크립트를 실행시킵니다

실행시기 전에 먼저 실행 권한을 주어야 합니다.

터미널을 키고 다음 명령어로 실행권한을 추가하고 ls -l 명령어로 실행권한이 잘 적용 되었는지 확인합니다. 그리고 나서 실행!

root@kali:~# chmod u+x 다운로드/VMware-Player-12.1.1-3770994.x86_64.bundle
root@kali:~# ls -l 다운로드/VMware-Player-12.1.1-3770994.x86_64.bundle
root@kali:~# 다운로드/VMware-Player-12.1.1-3770994.x86_64.bundle



다음과 같이 GUI 가 뜨면서 사용 약관에 동의 하냐고 묻습니다.

2번이 나오는데 두 번다 Yes.



실행시마다 업데이트 확인할 건지 묻는건데 저는 No



VMware software 에 사용자 정보를 제공할 것인지 묻는데 저는 No.



라이센스키를 묻는데 이건 빈공간으로 남겨놓고 Next를 눌러 패스합니다.



마지막으로 Install을 누르면 설치가 시작됩니다.



설치가 모두 끝나고 나선 Close를 눌러 닫아줍니다.




3. VMware 에 이미지를 돌려보자!

시작키를 누르고 또는 왼쪽 바로가기 패널에서 맨 아래에 있는 메뉴버튼을 누르고, vmware 라고 입력하면 설치된 프로그램중에서 vmware를 찾아줍니다. 



눌러서 실행해보면 다음과 같이 현재 실행중인 커널과 C 헤더 파일이 안 맞네 어쩌네 하면서 에러를 뱉네요.

다음 명령어로 커널 헤더파일을 설치합니다.

root@kali:~# apt-get install linux-headers-$(uname -r)

헤더파일을 설치하고 나서 다시 vmware 를 실행해보면 또 에러나네요...ㅎㅎ



4.4 버전 이 후로는 vmware를 설치하기 위해서 c코드를 조금 수정해야 한다는군요.

root@kali:~# tar -xvf /usr/lib/vmware/modules/source/vmmon.tar
root@kali:~# sed -i -e 's/get_user_pages/get_user_pages_remote/g' vmmon-only/linux/hostif.c
root@kali:~# tar -cvf vmmon.tar vmmon-only
root@kali:~# mv vmmon.tar /usr/lib/vmware/modules/source/vmmon.tar

먼저 vmmon.tar 파일을 현재 위치에 압축을 풀고 hostif.c 파일내의 get_user_pages를 get_user_pages_remote 로 치환해 줍니다. 

그후 다시 tar로 묶고 원래 파일과 바꿔줍니다.

이 과정을 vmnet.tar 의 userif.c 파일에 대해서 반복해 줍니다.

root@kali:~# tar -xvf /usr/lib/vmware/modules/source/vmnet.tar
root@kali:~# sed -i -e 's/get_user_pages/get_user_pages_remote/g' vmnet-only/linux/userif.c
root@kali:~# tar -cvf vmnet.tar vmnet-only
root@kali:~# mv vmnet.tar /usr/lib/vmware/modules/source/vmnet.tar


rm -rf 명령어로 임시로 작업했던 폴더를 지워줍시다.

root@kali:~# rm -rf vm*-only


자 이제 다시 vmware 를 시작해 봅시다.

이번에는 컴파일이 잘되었네요. 



이메일을 입력하라고 합니다. 입력해 줍시다.

후... 드디어 설치 했네요!





4. 마지막, 포트포워딩 설정 하기

이제 이미지를 돌려 봅시다. 저는 OWASP 이미지를 돌려보겠습니다.

그리고 ifconfig 명령어로 OWASP IP를 확인 봅니다.



192.168.219.128 이네요.

칼리의 터미널로 돌아와서 네트워크 에디터를 열어봅시다.

먼저 bin 폴더에 에디터를 링크시켜 놓고 vmware-netcfg 로 에디터를 실행합니다.

root@kali:~# ln -s /usr/lib/vmware/bin/vmware-netcfg /usr/bin/vmware-netcfg
root@kali:~# vmware-netcfg



vmnet8 을 선택하고 NAT Settings를 클릭합니다.



Port Forwading 의 Add 버튼을 클릭해서 포트포워딩을 지정해 줍니다.



Host port 가 외부에서 호스트 컴인 칼리로 접속할 포트고,

IP Adress 는 owasp 에 할당된 ip입니다. 아까 ifconfig로 확인 했었죠?

Virtual machine port 는 owasp 에 연결할 포트이고 

Description 에 대략적인 설명을 적습니다.

이렇게하면 칼리의 20080 포트로 오는 데이터들이 owasp 80 포트로 들어오게 되죠.

사진은 192.168.129.128로 적혀있는데 제가 잘못 입력하고 캡쳐뜬거라서 192.168.219.128 로 다시 입력했습니다.

Save -> Save 를 눌러주면 설정이 끝났습니다!

이제 같은 네트워크의 다른 시스템에서 접속해 보죠.



잘 되네요!



그럼 끗!

Posted by nfyfamraa
,




우분투는 자동으로 시행되게 설정된채로 배포되는데 칼리는 아닌가 보네요.

다음 명령을 이용해서 자동으로 시작하게 만들어 줍니다.

root@kali:~# update-rc.d ssh defaults



뭐라고 뜨네요. 자동시작에 등록된 서비스를 지우고 다시 설정해 줍니다.

root@kali:~# update-rc.d ssh remove
root@kali:~# update-rc.d ssh defautls



그리고 재시작 ㄱㄱ

재시작 후 다음 명령어로 서비스가 잘 실행되었는지 확인합니다.

root@kali:~# service ssh status

그럼 잘 실행될 수도 있고 위 사진처럼 inactive라도 뜰 수도 있습니다.


실행이 안된경우 vi로 /etc/rc.local 파일을 수정해 줍시다

root@kali:~# vi /etc/rc.local

아래 사진 처럼 exit 0 위에 다음을 입력해 줍니다.

/bin/sh -e /etc/init.d/ssh start


저장을 하고 재부팅을 시켜보면 정상적으로 실행된 것을 확인할 수 있습니다.


간단하게 설명하자면 리눅스는 부팅 레벨을 구분하고 레벨에 따라 부팅 방식이 달라지는데 level 3의 경우 콘솔로 부팅하게 되고 level 5 의 경우 GUI로 부팅하게 됩니다.

이 때 각 레벨에 따라 부팅시 실행될 서비스를 rcX.d/ (이 때 X는 런레벨입니다) 폴더에 관리하는데 폴더내용을 보면 실행될 서비스에 대해 심볼릭링크가 걸려있습니다.

여기서 링크를 직접 추가하지 않고 update-rc.d 명령어로 자동으로 추가하게끔 만들 수 있습니다.

하지만 칼리의 경우 update-rc.d 로 추가하고 rc5.d/ 폴더에 링크가 잘 담겨 있는것 까지 확인했는데도 자동으로 실행이 안되더라구요.

이 때 각 런레벨에 맞는 폴더에 담긴 링크들에 연결된 서비스들을 다 실행하고 마지막으로 공통으로 실행되는 스크립트가 rc.local입니다.

그래서 rc.local 스크립트 파일에 자동 실행되도록 직접 스크립트를 넣어준 겁니다.


끗!

Posted by nfyfamraa
,



얼마전에 침투 테스트 실습 환경 구축하기로 글을 올렸었는데 나중에 문제가 생겼는데 해결이 안되는것도 있고 제대로 정리되지가 않은 것 같아 이번엔 단계별로 나눠서 다시 올립니다.




1. 먼저 Kali linux 이미지를 받으세요

https://www.kali.org/downloads/

기서 현재 최신 버전을 확인할 수 있으며 저는 풀버전으로 받을거기 때문에 

"Kali Linux 64 bit" 이미지를 받았습니다.




2. 그리고 UUI를 다운받습니다.

http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

USB를 운영체제 부트 디스크로 만드는데 사용하는 툴인제 문서 작성 현재 Universal-USB-Installer-1.9.6.6.exe 버전이 최신이네요.

그때그때 최신으로 받아주시면 됩니다.




3. 이제 USB에 이미지를 굽습니다.

UUI를 실행시키면 먼저 약관동의 어쩌고 나오는데 Agree를 눌러줍니다.

그러면 설정 화면이 나오는데 배포판은 Kali Linux 이구요. 리스트박스에서 맨 아래에 찾아보면 있습니다.


다음으로 Step2. 의 Browse를 누르고 1번에 다운받은 이미지를 선택해 줍니다.

그리고 나서 Step3. 에서 USB를 선택하고 옆에 "We will format D:\ Drive as Fat32" 를 체크해줍니다.

이미 직접 포맷 하셨다면 체크 하지 않아도 됩니다.

다음 사진처럼 되죠?



마지막으로 Create를 눌러주면 아래 사진과 같은 모달박스가 또 뜨는데, 설정 확인하는 부분이니까 OK를 눌러주면 알아서 됩니다.





4. 이제 설치하려는 컴퓨터에 USB를 꽂고 부팅해 줍시다.

이 때 부팅 순서를 USB를 1번으로 해주시는거 잊지 마세요.

사진을 첨부하지 못해서 죄송하지만 글로 설명해 드리자면

부팅할 때 CMOS 창으로 들어가서 부팅 고급 옵션 탭에 들어가면 부팅 순서 바꾸기가 있습니다. 그거 들어가보면 보통 하드디스크나 CD-ROM이 1번인데 현재 꽂은 USB를 1번으로 올려주시면 됩니다. 그러고 나서 저장하고 다시 시작하기 하시면 됩니다.

그럼 용문양 배경에 인스톨 방식 선택하는 화면이 뜬느데 "Graphic Install" 을 선택해 줍니다.




5. 설치하기

다음은 순서대로 사진보고 따라하시면 됩니다.

먼저 언어를 설정하시고, '예' 를 눌러 줍니다.



다음으로 위치와 키보드를 설정합니다.



진행하다 보면 다음과 같이 설치 CD-ROM을 마운트 할 수 없다고 뜨는데



이 때 수동으로 마운트 시켜주어야 하므로 아니요를 눌러주고 다음과 같이 쉘을 실행해 줍니다.



쉘에 진입 하셔서 다음 사진과 같이 

~ # mount [usb위치] /cdrom

명령을 실행해 줍니다.

저는 ls 명령어로 실제 sdb1 가 잘 있는지 확인하였고 마운트 시킨후 다시 ls /cdrom 으로 마운트가 잘 되었는지 확인하였습니다.

컴퓨터에서 인식한 디스크 장치를 순서대로 sda, sdb, sdc 순으로 이름을 할당해 주기 때문에 usb 위치같은 경우 실제 환경마다 조금 씩 다를 수 있습니다.

저같은 경우 하드디스크 하나와 USB하나를 인식 시켰으므로 sda에는 하드디스크, sdb에는 usb가 잡혔습니다.

ls sdb*

명령어를 사용해 보시면  또 sdb sdb1 sdb2... 이렇게 넘버링이 되어있는걸 확인 할 수 있는데 이는 파티션 번호입니다.

숫자가 붙여있지 않은 sdb는 디스크 자체를 가리키며 sdb1은 첫번 째 파티션 sdb2는 두번 째 파티션 이런식이죠.

usb에는 따로 파티션을 나누지 않았기 때문에 sdb와 sdb1만 나타나는 것을 확인 할 수 있습니다.



exit 명령어로 쉘에서 나옵니다.



그리고 다시 "CD-ROM 찾기 및 마운트" 를 시도해 줍니다.

이번엔 인식이 잘되어서 설치가 정상적으로 진행되는데 간혹가다 안되는 때가 있습니다. 아니면 이 다음까진 정상적으로 잘 진행 되다가 GRUB가 설치되지 않을 때가 있는데 USB를 꽂고 뺄 때 데이터가 손상된 것으로 생각 되며 그 때는 USB에 설치디스크 굽는 과정부터 다시 시작해 주시면됩니다.

제건 USB가 오래된것이서 그런지 생각보다 오류가 자주 발생했네요.

저는 세 번이나 에러 났습니다 ㅠㅠ

다음으로 호스트 네임과 도메인을 설정하시면 되는데 전 도메인 이름까지 넣으면 괜히 불편해질거 같아서 사용하지 않았습니다.



다음으로 파티션하기 메뉴가 뜨네요. 저는 멀티부트를 선택할 것이므로 수동으로 파티션을 해주었습니다. 자동을 선택하면 아마 기존에 설치되어있던 윈도우가 날라가겠죠.. ㄷㄷ




파티션을 설정해주면 되는데 전 이미 나누어놨던게 있어서 4번을 포맷 하고 사용하였습니다.



파티션 삭제를 하면 아래 사진처럼 번호가 할당도지 않고 남은 공간으로 표시가 됩니다. 새로 파티션을 나누어야 하실 상황이라면 적당히 용량이 큰 파티션을 선택하셔서 나누시면 되는데, 윈도우가 깔려있는 C드라이브의 경우 (저는 1번 파티션이 C드라이브입니다.) 파티션을 나누게되면 윈도우가 부팅되지 않을 수 있으므로 D같이 운영체제가 설치되어 있지 않은 파티션을 나누길 권장합니다.



새파티션 만들기해서 주 파티션으로 설정하시고...



주 파티션으로 설정하게 되면 위와 같이 자동으로 EXT4 파일시스템으로 설정이되며 마운트 위치가 루트로 됩니다. 논리로 설정하시게되면 직접 선택해줘야 되요.

다음으로 준비를 마쳤습니다를 선택해주시고



파티션 나누기를 마치고 바뀐 사항을 디스크에 쓰기 를 선택합니다.



'아니요' 를 눌러줍니다.



여기선 '예' 를 눌러주면 파티셔닝이 진행되는데요 다 끝나면 루트 암호를 입력해 줍니다.


다음으로 네트워크 미러 사이트를 사용함으로 설정하시고



GRUB를 설치해 줍니다



하드디스크에서 부팅하는 거니까 sda로 선택해 줍니다.



설치 끝! USB를 뺴고 계속을 눌러 리부팅 해줍니다.

* 스크린 샷 찍어놓고 기억에 의존해서 순서 맞춰본거라 순서가 좀 틀릴 수 있습니다.



6. 한글이 깨지네요 한글 폰트를 다운받아 봅시다.

root 와 아까 입력했던 루트 비밀번호를 차례대로 입력해서 바탕화면으로 들어갑니다.

제일먼저 화면꺼짐 설정을 해줍시다.

한글 폰트 설치하는 동안 기다리게 되는데 자꾸 대기모드로 들어가서 불편합니다.

오른쪽 위의 삼각형을 클릭하고 잠자리(?) 아이콘을 클릭합니다



그러면 설정창이 뜨는데 거기서 우선 노란색 전기 모양 버튼을 클릭해서 전원옵션에 들어갑니다



(B) 가 있는 드롭박스를 클릭하고 마지막 아이템을 선택하고 나옵니다.



이번엔 가면 모양을 클릭하고 화면옵션에 들어갑니다


여기서 가장 첫번째 있는 메뉴를 클릭하고...



2개의 on/off 스위치가 있는데 첫번쨰꺼를 off 시켜줍니다



이렇게하면 화면이 안꺼집니다.

다음으로 왼쪽 바로가기 패널에서 터미널을 열고...


다음 명령어를 입력하여 패키지를 최신으로 업데이트 합니다

root@kali:~# apt-get update && apt-get dist-upgrade -y

그리고 나서 나눔 글꼴과 나비 한글 입력기를 설치해 줍니다.

root@kali:~# apt-get install fonts-nanum -y
root@kali:~# apt-get install nabi im-switch -y
root@kali:~# im-config -s nabi
root@kali:~# im-config -c

im-config -c 를 입력하게 되면 설정창이 뜨는데



여기서 엔터



왼쪽꺼로 맞추고 엔터



방향키로 움직여서 hangul로 맞추고 스페이스를 눌러 선택합니다

그리고 엔터


한글 깨짐 이슈는 다음 블로그를 참조했습니당 :)

http://lureout.tistory.com/573




여기까지 전부 마지셨다면 reboot 명령어로 재시작하세요!


끗!

Posted by nfyfamraa
,