| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- NOX
- AndroGoat
- FlagTwoActivity
- SlubBackdoor #응용 #악성코드 #악성코드_제작 #Python #깃허브를_이용한_악성코드
- bitcoin
- blockchain
- BOB10기합격후기
- injuredandroid.apk
- BOB10기
- FlagOneLoginActivity
- UTXO
- XSS
- Frida
- Burp Suite CA
- 보안제품개발
- 블록체인
- apk easy tool
- injuredandroid
- jadx
- BOB면접
- Burp Suite
- BOB 합격후기
- 솔루션개발
- 앱변조
- 비트코인
- BOB후기
- golang
- 안드로이드 앱 진단 환경설정
- 자산추적
- smali
- Today
- Total
목록분류 전체보기 (21)
Kye0m's Security
Diva - Access Control Issues(part3) 목적 : 이것은 개인용 노트 앱이다. PIN을 한 번 만들고 올바른 PIN을 입력한 후 노트에 액세스할 수 있습니다. 이제 PIN을 모르는 상태에서 앱 외부에서 개인 노트에 액세스해 보십시오. 힌트 : 앱의 구성요소는 제대로 보호되지 않은 경우 다른 앱이나 사용자로부터 액세스할 수 있으며 일부는 외부 입력을 허용할 수도 있습니다. 활동, 서비스, 콘텐츠 공급자와 같은 구성 요소는 이러한 경향이 있습니다. PIN번호를 모르는 상태에서 NOTE에 엑세스하면 풀 수 있는 문제이다. 해당 위치에 옳바른 핀번호를 입력하면 노트에 들어있는 정보가 나타나게 되지만, 그렇지 않을 경우 아래와 같이 오류 메세지가 나오게 된다. 문제풀이 AndroidMani..
Diva - Hardcoding issues(part2) 이번문제도 특정 key값을 입력하여 푸는 문제이다. [풀이과정] access버튼을 눌렀을 때, 파일함수 후킹을 통해 Hardcode2Activity.access에서 함수가 실행되는 것을 알 수 있다. public void access(View view) { EditText hckey = (EditText) findViewById(R.id.hc2Key); if (this.djni.access(hckey.getText().toString()) != 0) { Toast.makeText((Context) this, (CharSequence) "Access granted! See you on the other side :)", 0).show(); } els..
Hardcoding issues Part1 목적 : 하드코딩된 항목과 위치를 확인 힌트 : 개발자들은 때때로 민감한 정보를 하드코딩합니다. 문제풀이 jakhar.aseem.diva.HardcodeActivity 에 들어가보면 public void access(View view) { EditText hckey = (EditText) findViewById(R.id.hcKey); if (hckey.getText().toString().equals("하드코딩된 key값")) { Toast.makeText(this, "Access granted! See you on the other side :)", 0).show(); } else { Toast.makeText(this, "Access denied! See y..
Diva - Insecure Logging 환경구성 https://github.com/tjunxiang92/Android-Vulnerabilities GitHub - tjunxiang92/Android-Vulnerabilities: Covers Top 10 OWASP Mobile Vulnerabilities Covers Top 10 OWASP Mobile Vulnerabilities. Contribute to tjunxiang92/Android-Vulnerabilities development by creating an account on GitHub. github.com Diva 역시도 안드로이드 취약점 분석을 위한 모바일 어플리케이션이다. 위 깃허브 링크에서 Diva를 다운받도록 한다. Diva를 다..
Uncrackable1 Uncrackable은owasp에서 제공하는 앱취약점 공부용 모바일 어플리케이션이다. Uncrackable1.apk를 다운 받은 후, Nox 에뮬레이터에 설치하면 위와 같은 화면이 나온다. Rooting이 감지되었다고 뜨는 것을 보아, 우선 해당 과정을 우회하는 것이 먼저인듯 하다. ps | grep "uncrable"명령어를 이용하여 설치된 경로를 확인하여준다. 위에서 얻은 경로를 통해 프리다를 사용할 것이다. https://github.com/0xdea/frida-scripts 에서 제공하는 파일함수 후킹 코드를 통해서 어떤 함수가 실행되는지 알아보면, onCreate()와 verify()가 실행되는 것을 알 수 있다. APK Easy Tool로 디컴파일을 진행하여 onCrea..
Androgoat - Network Intercepting SSL 피닝문제이다. Nox를 버프슈트와 연결한 후, http와 https버튼을 누르면 각각의 패킷이 성공적으로 잡히는것을 볼 수 있다. 하지만 CERTIFICATE PINNING 버튼을 누르면 그렇지 않다. 문제풀이 trafficActivity.smali 파일을보면 public final String getHttpurl() { return this.httpurl; } public final void setHttpurl(String str) { Intrinsics.checkParameterIsNotNull(str, ""); this.httpurl = str; } public final String getHttpsurl() { return this..
AndroGoat - Binary Patching 해당 문제는Admin 권한을 활성화 시켜서 해당버튼을누르면 되는 문제이다. 문제풀이 Smali변조를 통해서 해당 문제를 해결할 수 있다. jadx로 BinaryPatching.smali 파일을 열어보면 다음과 같은 구문을 볼 수있다. onCreate에서 if(this.Admin) 을 보면 is.Admin이라는함수에서 어드민 여부를 검사하는것을 알 수 있다. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_binary_patching); if (this.isAdmin) { TextView isA..
AndroGoat - Emulator Detection 이번 문제는 AndroGoat에 있는 에뮬레이터탐지를 우회하기 위한 문제이다. nox를 통해 Emulator Detection에서 Check Emulator 버튼을 누르면 에뮬레이터가 아니라고 나온다. public final boolean isEmulator() { String str = Build.FINGERPRINT + Build.DEVICE + Build.MODEL + Build.BRAND + Build.PRODUCT + Build.MANUFACTURER + Build.HARDWARE; if (str != null) { String builddtls = str.toLowerCase(); Intrinsics.checkExpressionValueI..
AndroGoat - 루팅탐지 우회 AndroGoat라는 실습용 앱을 통해서 앱후킹 및 탐지우회들을 실습해볼 예정이다. AndroGoat는 https://github.com/satishpatnayak/MyTest 여기서 다운받을 수 있다. 이전 실습과 마찬가지로 앱을 다운받고 APK EASY TOOL을 써서 디컴파일 시켜줬다. 디컴파일 하는 과정은 (https://yookyeom105.tistory.com/6) 이 포스트에서 확인할 수 있다. 문제풀이 AndroGoat앱을 설치 후 앱을 실행해보면 Root Detection이라는 항목이 있다. Check Root버튼을 눌러보면, 디바이스가 루팅되었다고 나온다. 아마 에뮬레이터 또는 안드로이드 기기가 루팅이 되었는지 확인해주는 부분인 것 같다. 우선, CH..
Login 1,2 문제와 마찬가지로 특정 플래그 값을 입력하여 푸는 문제이다. 문제풀이 public final void submitFlag(View view) { EditText editText = (EditText) findViewById(i.editText3); d.m.b.d.b(editText, "editText3"); if (d.m.b.d.a(editText.getText().toString(), k.a("k3FElEG9lnoWbOateGhj5pX6QsXRNJKh///8Jxi8KXW7iDpk2xRxhQ=="))) { Intent intent = new Intent(this, FlagOneSuccess.class); FlagsOverview.D = true; new j().b(this, "flagS..