Подмена HTTPS-сервера

Discussion in 'Песочница' started by dafaqsolo, 12 Mar 2016.

  1. dafaqsolo

    dafaqsolo New Member

    Joined:
    12 Mar 2016
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Всем привет. Есть программа, она общается со своим сервером по HTTPS.
    Мне нужно перенаправить её на свой командный сервер. Я в этих делах новичок, в прошлый раз просто пропатчил бинарник (перевел с https на http) и добавил редирект в hosts. Но сейчас патчить не вариант, а при простом редиректе на свой домен сертификат не проходит проверку (очевидно)

    Однако я так понял можно каким-то образом подменять сертификат, чтобы приложение думало что все ок. Есть какой-то материал почитать на эту тему, а то я даже не знаю что гуглить?
     
  2. Dev.0x00

    Dev.0x00 Member

    Joined:
    14 May 2015
    Messages:
    13
    Likes Received:
    6
    Reputations:
    0
    Там может быть, и скорей всего и есть, проверка контрольной суммы SHA1/SHA256 сертификата, и тупая подмена его не поможет.
    Имхо, самый просто вариант, поставить хук на вызов библиотечной функции из OpenSSL или виндового CryptoApi/WinAPI, смотря что программа использует, и возврат своего результата. Но это конечно придется подгружать свою либу в процесс, искать в импорте соответствующие вызов функций, и прочие прочие мелочи. Есть программа EchoMirage - http://www.woodmann.com/collaborative/tools/index.php/Echo_Mirage, и она работает подобным образом.
     
    1for3n1 likes this.
  3. atlas28

    atlas28 Active Member

    Joined:
    23 May 2015
    Messages:
    224
    Likes Received:
    173
    Reputations:
    1
    Самое простое - это установить корневой сертификат на устройство, на котором запускается программа.
     
    hopekillah likes this.
  4. dafaqsolo

    dafaqsolo New Member

    Joined:
    12 Mar 2016
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Так, а поподробнее можно? Допустим я программу запускаю со своего компа, и мне нужно перенаправить https://example.com на localhost.
     
  5. atlas28

    atlas28 Active Member

    Joined:
    23 May 2015
    Messages:
    224
    Likes Received:
    173
    Reputations:
    1
    Ты хочешь, чтобы при запросе программой https://example.com она попадала на https://127.0.0.1? ок, добавляешь в hosts запись "127.0.0.1 example.com". Но помимо этого на комп ты должен установить сертификат, который генерирует твой же серв, иначе программа не будет коннектиться, т. к. не доверяет данному серту. Если не знаешь, как это сделать, то нужны подробности: что именно за программа, что за серв.
     
    hopekillah likes this.
  6. dafaqsolo

    dafaqsolo New Member

    Joined:
    12 Mar 2016
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Да, уже разобрался, спасибо за наводку
     
Loading...