Commit bcfb5b5
committed
Pass 5: DCE/RPC and DCOM realism
Make the DCE/RPC bind, DCOM activation, and DCOM ref counting look
like a real Windows client.
- rpcrt bind: emit a second context item carrying the [MS-RPCE]
BindTimeFeatureNegotiation abstract syntax (UUID
6cb71c2c-9812-4540-0300-000000000000) alongside the interface ctx.
Track the main context index so transfer-syntax negotiation still
picks the right one. The bind-ack validation now tolerates a
negotiate_ack (Result=3) on the BTFN context and tolerates
rejections of subordinate contexts in general.
- dcomrt RemAddRef / RemRelease: bump cPublicRefs from 1 to 5 to match
ole32's reference batching, removing the single-ref-per-call tell.
- dcomrt RemoteCreateInstance ScmRequestInfo: set ClientImpLevel to 2
(RPC_C_IMP_LEVEL_IDENTIFY) instead of leaving it at the default 0
that Impacket previously emitted.
- DCOMConnection.CoCreateInstanceEx: issue an IObjectExporter
ServerAlive2 preflight against the resolver before invoking the
activator, mirroring Windows. Failures are logged and tolerated.1 parent 875efe1 commit bcfb5b5
2 files changed
Lines changed: 51 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1107 | 1107 | | |
1108 | 1108 | | |
1109 | 1109 | | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
1110 | 1119 | | |
1111 | 1120 | | |
1112 | 1121 | | |
| |||
1418 | 1427 | | |
1419 | 1428 | | |
1420 | 1429 | | |
1421 | | - | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
1422 | 1434 | | |
1423 | 1435 | | |
1424 | 1436 | | |
| |||
1430 | 1442 | | |
1431 | 1443 | | |
1432 | 1444 | | |
1433 | | - | |
| 1445 | + | |
| 1446 | + | |
1434 | 1447 | | |
1435 | 1448 | | |
1436 | 1449 | | |
| |||
1705 | 1718 | | |
1706 | 1719 | | |
1707 | 1720 | | |
1708 | | - | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
1709 | 1724 | | |
1710 | 1725 | | |
1711 | 1726 | | |
| |||
1868 | 1883 | | |
1869 | 1884 | | |
1870 | 1885 | | |
1871 | | - | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
1872 | 1889 | | |
1873 | 1890 | | |
1874 | 1891 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
142 | | - | |
| 142 | + | |
| 143 | + | |
143 | 144 | | |
144 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
145 | 151 | | |
146 | 152 | | |
147 | 153 | | |
| |||
1549 | 1555 | | |
1550 | 1556 | | |
1551 | 1557 | | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
1552 | 1569 | | |
1553 | 1570 | | |
1554 | 1571 | | |
| |||
1618 | 1635 | | |
1619 | 1636 | | |
1620 | 1637 | | |
| 1638 | + | |
| 1639 | + | |
1621 | 1640 | | |
1622 | 1641 | | |
1623 | 1642 | | |
| 1643 | + | |
| 1644 | + | |
| 1645 | + | |
| 1646 | + | |
1624 | 1647 | | |
| 1648 | + | |
| 1649 | + | |
| 1650 | + | |
| 1651 | + | |
1625 | 1652 | | |
1626 | 1653 | | |
1627 | 1654 | | |
| |||
1632 | 1659 | | |
1633 | 1660 | | |
1634 | 1661 | | |
1635 | | - | |
| 1662 | + | |
| 1663 | + | |
1636 | 1664 | | |
1637 | 1665 | | |
1638 | 1666 | | |
| |||
0 commit comments