Security ★ Development/시스템(5)
-
리버스 텔넷(Reverse telnet)
텔넷은 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜입니다. 리버스 텔넷은 텔넷의 이런 특성을 반대로 이용한 공격 방법입니다. 보통 네트워크를 통해 공격을 하기 위해선 방화벽 등을 통과해야 하는데 inbound 패킷에 대해 정책이 걸려있는 시스템을 뚫기란 쉽지 않습니다. 하지만 방화벽 정책 설정 시 outbound 패킷에 대해서는 보통 특별한 정책을 설정해주지 않는데 이러한 취약점을 이용합니다. 공격 대상이 되는 서버 등에서 먼저 공격자 pc로 연결을 하게 함으로써 시스템의 보안 정책을 우회하도록 합니다. 데모를 해보겠습니다. 공격자 pc의 ip 주소는 192.168.0.2입니다. 공격자 pc에서 3174 포트를 열어둡니다. 이 데모에서는 netcat(nc)라는 프로그램을 사용합니다. n..
2020.06.06 -
Parcel::remove() not yet implemented!
Android hal binder 동작 시 발생하는 에러입니다.Parcel::remove() not yet implemented! Binder쪽 로그를 보면 EX_TRANSACTION_FAILED 및 WOULD_BLOCK 그리고binder : ~ioctl ~ return -11 과 같은 에러도 같이 볼 수 있습니다. 먼저 Parcel::remove()에러는 libs/binder/Prcel.cpp에서 확인할 수 있습니다. 에러 내용 그대로의 log만 출력합니다. HAL Library와 Kernel Driver에서 발생하는 에러입니다. 어떻게 저 부분으로 빠지게 되는데 동작을 보겠습니다.HAL을 사용 시 내부적으로 /dev/hwbinder를 open하게 됩니다. HAL app쪽에서는 joinThraedPoo..
2020.05.23 -
Android java object variable memory address
안드로이드 오브젝트(Object) 형 변수의 어드레스, c에서 말하는 포인터 주소를 얻는 방법을 검색해보면 보통 '얻을 수 없다' 혹은 hashcode에 대한 소개가 나타납니다. 일반적으로 안드로이드 어플을 만들 때는, jni 및 c를 써도 object 어드레스 자체에 접근하는 건 어렵습니다. 관련된 인터페이스, api를 제공하지 않고 있기 때문인데 그래서 c단에서 안드로이드 어플과 같이 상호작용하는 함수를 만들 때는 jni 함수들을 이용하게 됩니다. jni함수 내부에서 안드로이드 object 형 변수의 메모리에 접근이 발생하게 됩니다. 안드로이드 프레임워크, native library, art 등의 수정이 가능하다면 memory addresss에 직접 접근하여 수정, 확인할 수 있습니다. 이러한 작업을..
2019.11.09 -
system_server broadcast hooking
system_server는 안드로이드에서 작동하는 프로세스로 init -> zygote -> system_server 순으로 구동됩니다. 여러가지 서비스 manager 역할을 하며 framework에 속한다고보면 됩니다.여기서 프로세스간 브로드캐스트를 잡을 수 있습니다. am/BroadcastQueue.java private final void processCurBroadcastLocked(BroadcastRecord r, ProcessRecord app) throws RemoteException { if (DEBUG_BROADCAST) Slog.v(TAG,... processCurBroadcastLocked() 함수에서 할 수 있는데 BroadcastRecord와 ProcessRecord에서 각각의 프..
2018.03.17 -
윈도우 공유폴더 및 널 세션 제거
윈도우 공유폴더에 대한 침해사고는 심각하게 보도된 적은 없지만 RDP 서비스를 이용한 공격 등의 악용 소지는 분명 있기 때문에 PC로 중요작업을 하신다면 관리해줄 필요가 있습니다. 우선 net share 명령어를 통해 어떤 공유폴더들이 있는지 확인해봤습니다. 공유폴더는 집에서 별로 사용하시는 분이 없을 것으로 보이고 특별히 관련 작업을 하지 않는 다면 삭제하는 것이 좋습니다. regedit을 실행하여 다음과 같은 경로로 이동합니다.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters해당 path를 보면 AutoShareWks라는 값이 있는데 이를 0으로 변경해줍니다. 만약 없다면 AutoShareWks를 생성하여 주셔도 ..
2017.10.29